To debug test failures, add a query parameter "subtest" with the test id (like "?subtest=5,16"). Only that test will be run. Then you can look at the resulting iframes in the DOM.

Summary

Harness status: OK

Found 1840 tests

Details

ResultTest NameMessage
Pass0,0: resulting DOM for range [paras[0].firstChild, 0, paras[0].firstChild, 0], node paras[0]
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(1, 1, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass0,0: resulting range position for range [paras[0].firstChild, 0, paras[0].firstChild, 0], node paras[0]
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Element node <p id="a"></p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Element node <p id="a"></p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(0, 0, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected p but got p")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-0", "0-1-1-0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass0,1: resulting DOM for range [paras[0].firstChild, 0, paras[0].firstChild, 0], node paras[0].firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(1, 1, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass0,1: resulting range position for range [paras[0].firstChild, 0, paras[0].firstChild, 0], node paras[0].firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(0, 0, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-0-0", "0-1-1-0-0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass0,2: resulting DOM for range [paras[0].firstChild, 0, paras[0].firstChild, 0], node paras[1].firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Text node "Ijklmnop ", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Text node "Ijklmnop ", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(1, 1, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass0,2: resulting range position for range [paras[0].firstChild, 0, paras[0].firstChild, 0], node paras[1].firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Ijklmnop ", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Ijklmnop ", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Text node "Ijklmnop ", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Text node "Ijklmnop ", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-0-0", "0-1-1-0-0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass0,3: resulting DOM for range [paras[0].firstChild, 0, paras[0].firstChild, 0], node paras[5].firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Node object of unknown type, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Node object of unknown type, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(1, 1, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass0,3: resulting range position for range [paras[0].firstChild, 0, paras[0].firstChild, 0], node paras[5].firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "1234", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "1234", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Node object of unknown type, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Node object of unknown type, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-0-0", "0-1-1-0-0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass0,4: resulting DOM for range [paras[0].firstChild, 0, paras[0].firstChild, 0], node foreignPara1
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Element node <p>Efghijkl</p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Element node <p>Efghijkl</p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass0,4: resulting range position for range [paras[0].firstChild, 0, paras[0].firstChild, 0], node foreignPara1
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Element node <p></p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Element node <p></p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(1, 1, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected p but got p")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-0", "0-1-1-0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass0,5: resulting DOM for range [paras[0].firstChild, 0, paras[0].firstChild, 0], node foreignPara1.firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Text node "Efghijkl", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Text node "Efghijkl", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass0,5: resulting range position for range [paras[0].firstChild, 0, paras[0].firstChild, 0], node foreignPara1.firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Efghijkl", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Efghijkl", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Text node "Efghijkl", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Text node "Efghijkl", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-0-0", "0-1-1-0-0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass0,6: resulting DOM for range [paras[0].firstChild, 0, paras[0].firstChild, 0], node detachedPara1
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Element node <p>Opqrstuv</p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Element node <p>Opqrstuv</p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass0,6: resulting range position for range [paras[0].firstChild, 0, paras[0].firstChild, 0], node detachedPara1
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Element node <p></p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Element node <p></p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(1, 1, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected p but got p")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-0", "0-1-1-0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass0,7: resulting DOM for range [paras[0].firstChild, 0, paras[0].firstChild, 0], node detachedPara1.firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Text node "Opqrstuv", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Text node "Opqrstuv", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass0,7: resulting range position for range [paras[0].firstChild, 0, paras[0].firstChild, 0], node detachedPara1.firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Opqrstuv", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Opqrstuv", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Text node "Opqrstuv", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Text node "Opqrstuv", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-0-0", "0-1-1-0-0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass0,8: resulting DOM for range [paras[0].firstChild, 0, paras[0].firstChild, 0], node document
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Document node with 2 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Document node with 2 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(1, 1, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_NODE_TYPE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_NODE_TYPE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass0,8: resulting range position for range [paras[0].firstChild, 0, paras[0].firstChild, 0], node document
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Document node with 2 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Document node with 2 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(0, 0, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-0-0", "0-1-1-0-0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass0,9: resulting DOM for range [paras[0].firstChild, 0, paras[0].firstChild, 0], node detachedDiv
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Element node <div><p>Opqrstuv</p><p>Wxyzabcd</p></div>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Element node <div><p>Opqrstuv</p><p>Wxyzabcd</p></div>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass0,9: resulting range position for range [paras[0].firstChild, 0, paras[0].firstChild, 0], node detachedDiv
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Element node <div></div>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Element node <div></div>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(1, 1, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected p but got p")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-0", "0-1-1-0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass0,10: resulting DOM for range [paras[0].firstChild, 0, paras[0].firstChild, 0], node foreignDoc
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Document node with 3 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Document node with 3 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_NODE_TYPE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_NODE_TYPE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass0,10: resulting range position for range [paras[0].firstChild, 0, paras[0].firstChild, 0], node foreignDoc
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Document node with 3 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Document node with 3 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(0, 0, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-0-0", "0-1-1-0-0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass0,11: resulting DOM for range [paras[0].firstChild, 0, paras[0].firstChild, 0], node foreignPara2
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Element node <p>Mnopqrst</p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Element node <p>Mnopqrst</p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass0,11: resulting range position for range [paras[0].firstChild, 0, paras[0].firstChild, 0], node foreignPara2
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Element node <p></p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Element node <p></p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(1, 1, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected p but got p")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-0", "0-1-1-0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass0,12: resulting DOM for range [paras[0].firstChild, 0, paras[0].firstChild, 0], node xmlDoc
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Document node with 4 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Document node with 4 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_NODE_TYPE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_NODE_TYPE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass0,12: resulting range position for range [paras[0].firstChild, 0, paras[0].firstChild, 0], node xmlDoc
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Document node with 4 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Document node with 4 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(0, 0, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-0-0", "0-1-1-0-0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass0,13: resulting DOM for range [paras[0].firstChild, 0, paras[0].firstChild, 0], node xmlElement
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Element node <igiveuponcreativenames>do re mi fa so la ti</igiveuponcr..., null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Element node <igiveuponcreativenames>do re mi fa so la ti</igiveuponcr..., null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass0,13: resulting range position for range [paras[0].firstChild, 0, paras[0].firstChild, 0], node xmlElement
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Element node <igiveuponcreativenames></igiveuponcreativenames>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Element node <igiveuponcreativenames></igiveuponcreativenames>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(1, 1, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected p but got p")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-0", "0-1-1-0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass0,14: resulting DOM for range [paras[0].firstChild, 0, paras[0].firstChild, 0], node detachedTextNode
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Text node "Uvwxyzab", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Text node "Uvwxyzab", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass0,14: resulting range position for range [paras[0].firstChild, 0, paras[0].firstChild, 0], node detachedTextNode
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Uvwxyzab", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Uvwxyzab", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Text node "Uvwxyzab", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Text node "Uvwxyzab", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-0-0", "0-1-1-0-0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass0,15: resulting DOM for range [paras[0].firstChild, 0, paras[0].firstChild, 0], node foreignTextNode
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Text node "I admit that I harbor doubts about whether we really need...", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Text node "I admit that I harbor doubts about whether we really need...", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass0,15: resulting range position for range [paras[0].firstChild, 0, paras[0].firstChild, 0], node foreignTextNode
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "I admit that I harbor doubts about whether we really need so many things to test, but it's too late to stop now.", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "I admit that I harbor doubts about whether we really need so many things to test, but it's too late to stop now.", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Text node "I admit that I harbor doubts about whether we really need...", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Text node "I admit that I harbor doubts about whether we really need...", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-0-0", "0-1-1-0-0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass0,16: resulting DOM for range [paras[0].firstChild, 0, paras[0].firstChild, 0], node processingInstruction
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(ProcessingInstruction node with target "somePI" and data "Did you know that \":syn sync fromstart\" is very useful wh...", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(ProcessingInstruction node with target "somePI" and data "Did you know that \":syn sync fromstart\" is very useful wh...", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass0,16: resulting range position for range [paras[0].firstChild, 0, paras[0].firstChild, 0], node processingInstruction
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(ProcessingInstruction node with target "somePI" and data "Did you know that \":syn sync fromstart\" is very useful wh...", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(ProcessingInstruction node with target "somePI" and data "Did you know that \":syn sync fromstart\" is very useful wh...", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-0-0", "0-1-1-0-0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass0,17: resulting DOM for range [paras[0].firstChild, 0, paras[0].firstChild, 0], node detachedProcessingInstruction
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(ProcessingInstruction node with target "whippoorwill" and data "chirp chirp chirp", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(ProcessingInstruction node with target "whippoorwill" and data "chirp chirp chirp", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass0,17: resulting range position for range [paras[0].firstChild, 0, paras[0].firstChild, 0], node detachedProcessingInstruction
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(ProcessingInstruction node with target "whippoorwill" and data "chirp chirp chirp", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(ProcessingInstruction node with target "whippoorwill" and data "chirp chirp chirp", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-0-0", "0-1-1-0-0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass0,18: resulting DOM for range [paras[0].firstChild, 0, paras[0].firstChild, 0], node comment
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Comment node <!--Alphabet soup?-->, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Comment node <!--Alphabet soup?-->, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(1, 1, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass0,18: resulting range position for range [paras[0].firstChild, 0, paras[0].firstChild, 0], node comment
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Comment node <!--Alphabet soup?-->, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Comment node <!--Alphabet soup?-->, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-0-0", "0-1-1-0-0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass0,19: resulting DOM for range [paras[0].firstChild, 0, paras[0].firstChild, 0], node detachedComment
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Comment node <!--Stuvwxyz-->, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Comment node <!--Stuvwxyz-->, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass0,19: resulting range position for range [paras[0].firstChild, 0, paras[0].firstChild, 0], node detachedComment
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Comment node <!--Stuvwxyz-->, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Comment node <!--Stuvwxyz-->, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-0-0", "0-1-1-0-0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass0,20: resulting DOM for range [paras[0].firstChild, 0, paras[0].firstChild, 0], node docfrag
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(DocumentFragment node with 0 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(DocumentFragment node with 0 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_NODE_TYPE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_NODE_TYPE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass0,20: resulting range position for range [paras[0].firstChild, 0, paras[0].firstChild, 0], node docfrag
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(DocumentFragment node with 0 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(DocumentFragment node with 0 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(0, 0, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-0-0", "0-1-1-0-0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass0,21: resulting DOM for range [paras[0].firstChild, 0, paras[0].firstChild, 0], node doctype
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(1, 1, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_NODE_TYPE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_NODE_TYPE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass0,21: resulting range position for range [paras[0].firstChild, 0, paras[0].firstChild, 0], node doctype
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(0, 0, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-0-0", "0-1-1-0-0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass0,22: resulting DOM for range [paras[0].firstChild, 0, paras[0].firstChild, 0], node foreignDoctype
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_NODE_TYPE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_NODE_TYPE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass0,22: resulting range position for range [paras[0].firstChild, 0, paras[0].firstChild, 0], node foreignDoctype
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(0, 0, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-0-0", "0-1-1-0-0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass1,0: resulting DOM for range [paras[0].firstChild, 0, paras[0].firstChild, 1], node paras[0]
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "A", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "A", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(1, 1, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass1,0: resulting range position for range [paras[0].firstChild, 0, paras[0].firstChild, 1], node paras[0]
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Element node <p id="a"></p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Element node <p id="a"></p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(0, 0, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected p but got p")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-0", "0-1-1-0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass1,1: resulting DOM for range [paras[0].firstChild, 0, paras[0].firstChild, 1], node paras[0].firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "A", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "A", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(1, 1, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass1,1: resulting range position for range [paras[0].firstChild, 0, paras[0].firstChild, 1], node paras[0].firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Text node "̈b̈c̈d̈ëf̈g̈ḧ ", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Text node "̈b̈c̈d̈ëf̈g̈ḧ ", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(0, 0, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-0-0", "0-1-1-0-0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass1,2: resulting DOM for range [paras[0].firstChild, 0, paras[0].firstChild, 1], node paras[1].firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "A", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "A", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Text node "Ijklmnop ", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Text node "Ijklmnop ", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(1, 1, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass1,2: resulting range position for range [paras[0].firstChild, 0, paras[0].firstChild, 1], node paras[1].firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Ijklmnop ", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Ijklmnop ", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Text node "Ijklmnop ", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Text node "Ijklmnop ", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-0-0", "0-1-1-0-0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass1,3: resulting DOM for range [paras[0].firstChild, 0, paras[0].firstChild, 1], node paras[5].firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "A", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "A", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Node object of unknown type, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Node object of unknown type, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(1, 1, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass1,3: resulting range position for range [paras[0].firstChild, 0, paras[0].firstChild, 1], node paras[5].firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "1234", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "1234", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Node object of unknown type, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Node object of unknown type, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-0-0", "0-1-1-0-0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass1,4: resulting DOM for range [paras[0].firstChild, 0, paras[0].firstChild, 1], node foreignPara1
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "A", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "A", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Element node <p>Efghijkl</p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Element node <p>Efghijkl</p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass1,4: resulting range position for range [paras[0].firstChild, 0, paras[0].firstChild, 1], node foreignPara1
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "A", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "A", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Element node <p>A</p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Element node <p>A</p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(1, 1, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected p but got p")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-0", "0-1-1-0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass1,5: resulting DOM for range [paras[0].firstChild, 0, paras[0].firstChild, 1], node foreignPara1.firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "A", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "A", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Text node "Efghijkl", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Text node "Efghijkl", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass1,5: resulting range position for range [paras[0].firstChild, 0, paras[0].firstChild, 1], node foreignPara1.firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Efghijkl", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Efghijkl", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Text node "Efghijkl", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Text node "Efghijkl", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-0-0", "0-1-1-0-0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass1,6: resulting DOM for range [paras[0].firstChild, 0, paras[0].firstChild, 1], node detachedPara1
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "A", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "A", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Element node <p>Opqrstuv</p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Element node <p>Opqrstuv</p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass1,6: resulting range position for range [paras[0].firstChild, 0, paras[0].firstChild, 1], node detachedPara1
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "A", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "A", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Element node <p>A</p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Element node <p>A</p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(1, 1, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected p but got p")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-0", "0-1-1-0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass1,7: resulting DOM for range [paras[0].firstChild, 0, paras[0].firstChild, 1], node detachedPara1.firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "A", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "A", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Text node "Opqrstuv", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Text node "Opqrstuv", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass1,7: resulting range position for range [paras[0].firstChild, 0, paras[0].firstChild, 1], node detachedPara1.firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Opqrstuv", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Opqrstuv", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Text node "Opqrstuv", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Text node "Opqrstuv", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-0-0", "0-1-1-0-0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass1,8: resulting DOM for range [paras[0].firstChild, 0, paras[0].firstChild, 1], node document
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "A", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "A", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Document node with 2 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Document node with 2 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(1, 1, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_NODE_TYPE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_NODE_TYPE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass1,8: resulting range position for range [paras[0].firstChild, 0, paras[0].firstChild, 1], node document
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "A", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "A", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Document node with 2 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Document node with 2 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(1, 1, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-0-0", "0-1-1-0-0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass1,9: resulting DOM for range [paras[0].firstChild, 0, paras[0].firstChild, 1], node detachedDiv
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "A", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "A", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Element node <div><p>Opqrstuv</p><p>Wxyzabcd</p></div>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Element node <div><p>Opqrstuv</p><p>Wxyzabcd</p></div>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass1,9: resulting range position for range [paras[0].firstChild, 0, paras[0].firstChild, 1], node detachedDiv
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "A", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "A", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Element node <div>A</div>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Element node <div>A</div>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(1, 1, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected p but got p")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-0", "0-1-1-0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass1,10: resulting DOM for range [paras[0].firstChild, 0, paras[0].firstChild, 1], node foreignDoc
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "A", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "A", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Document node with 3 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Document node with 3 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_NODE_TYPE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_NODE_TYPE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass1,10: resulting range position for range [paras[0].firstChild, 0, paras[0].firstChild, 1], node foreignDoc
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "A", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "A", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Document node with 3 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Document node with 3 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(1, 1, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-0-0", "0-1-1-0-0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass1,11: resulting DOM for range [paras[0].firstChild, 0, paras[0].firstChild, 1], node foreignPara2
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "A", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "A", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Element node <p>Mnopqrst</p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Element node <p>Mnopqrst</p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass1,11: resulting range position for range [paras[0].firstChild, 0, paras[0].firstChild, 1], node foreignPara2
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "A", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "A", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Element node <p>A</p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Element node <p>A</p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(1, 1, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected p but got p")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-0", "0-1-1-0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass1,12: resulting DOM for range [paras[0].firstChild, 0, paras[0].firstChild, 1], node xmlDoc
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "A", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "A", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Document node with 4 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Document node with 4 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_NODE_TYPE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_NODE_TYPE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass1,12: resulting range position for range [paras[0].firstChild, 0, paras[0].firstChild, 1], node xmlDoc
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "A", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "A", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Document node with 4 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Document node with 4 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(1, 1, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-0-0", "0-1-1-0-0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass1,13: resulting DOM for range [paras[0].firstChild, 0, paras[0].firstChild, 1], node xmlElement
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "A", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "A", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Element node <igiveuponcreativenames>do re mi fa so la ti</igiveuponcr..., null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Element node <igiveuponcreativenames>do re mi fa so la ti</igiveuponcr..., null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass1,13: resulting range position for range [paras[0].firstChild, 0, paras[0].firstChild, 1], node xmlElement
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "A", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "A", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Element node <igiveuponcreativenames>A</igiveuponcreativenames>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Element node <igiveuponcreativenames>A</igiveuponcreativenames>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(1, 1, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected p but got p")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-0", "0-1-1-0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass1,14: resulting DOM for range [paras[0].firstChild, 0, paras[0].firstChild, 1], node detachedTextNode
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "A", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "A", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Text node "Uvwxyzab", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Text node "Uvwxyzab", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass1,14: resulting range position for range [paras[0].firstChild, 0, paras[0].firstChild, 1], node detachedTextNode
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Uvwxyzab", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Uvwxyzab", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Text node "Uvwxyzab", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Text node "Uvwxyzab", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-0-0", "0-1-1-0-0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass1,15: resulting DOM for range [paras[0].firstChild, 0, paras[0].firstChild, 1], node foreignTextNode
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "A", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "A", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Text node "I admit that I harbor doubts about whether we really need...", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Text node "I admit that I harbor doubts about whether we really need...", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass1,15: resulting range position for range [paras[0].firstChild, 0, paras[0].firstChild, 1], node foreignTextNode
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "I admit that I harbor doubts about whether we really need so many things to test, but it's too late to stop now.", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "I admit that I harbor doubts about whether we really need so many things to test, but it's too late to stop now.", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Text node "I admit that I harbor doubts about whether we really need...", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Text node "I admit that I harbor doubts about whether we really need...", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-0-0", "0-1-1-0-0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass1,16: resulting DOM for range [paras[0].firstChild, 0, paras[0].firstChild, 1], node processingInstruction
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "A", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "A", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(ProcessingInstruction node with target "somePI" and data "Did you know that \":syn sync fromstart\" is very useful wh...", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(ProcessingInstruction node with target "somePI" and data "Did you know that \":syn sync fromstart\" is very useful wh...", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass1,16: resulting range position for range [paras[0].firstChild, 0, paras[0].firstChild, 1], node processingInstruction
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(ProcessingInstruction node with target "somePI" and data "Did you know that \":syn sync fromstart\" is very useful wh...", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(ProcessingInstruction node with target "somePI" and data "Did you know that \":syn sync fromstart\" is very useful wh...", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-0-0", "0-1-1-0-0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass1,17: resulting DOM for range [paras[0].firstChild, 0, paras[0].firstChild, 1], node detachedProcessingInstruction
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "A", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "A", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(ProcessingInstruction node with target "whippoorwill" and data "chirp chirp chirp", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(ProcessingInstruction node with target "whippoorwill" and data "chirp chirp chirp", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass1,17: resulting range position for range [paras[0].firstChild, 0, paras[0].firstChild, 1], node detachedProcessingInstruction
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(ProcessingInstruction node with target "whippoorwill" and data "chirp chirp chirp", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(ProcessingInstruction node with target "whippoorwill" and data "chirp chirp chirp", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-0-0", "0-1-1-0-0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass1,18: resulting DOM for range [paras[0].firstChild, 0, paras[0].firstChild, 1], node comment
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "A", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "A", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Comment node <!--Alphabet soup?-->, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Comment node <!--Alphabet soup?-->, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(1, 1, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass1,18: resulting range position for range [paras[0].firstChild, 0, paras[0].firstChild, 1], node comment
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Comment node <!--Alphabet soup?-->, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Comment node <!--Alphabet soup?-->, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-0-0", "0-1-1-0-0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass1,19: resulting DOM for range [paras[0].firstChild, 0, paras[0].firstChild, 1], node detachedComment
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "A", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "A", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Comment node <!--Stuvwxyz-->, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Comment node <!--Stuvwxyz-->, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass1,19: resulting range position for range [paras[0].firstChild, 0, paras[0].firstChild, 1], node detachedComment
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Comment node <!--Stuvwxyz-->, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Comment node <!--Stuvwxyz-->, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-0-0", "0-1-1-0-0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass1,20: resulting DOM for range [paras[0].firstChild, 0, paras[0].firstChild, 1], node docfrag
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "A", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "A", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(DocumentFragment node with 0 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(DocumentFragment node with 0 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_NODE_TYPE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_NODE_TYPE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass1,20: resulting range position for range [paras[0].firstChild, 0, paras[0].firstChild, 1], node docfrag
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "A", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "A", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(DocumentFragment node with 0 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(DocumentFragment node with 0 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(1, 1, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-0-0", "0-1-1-0-0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass1,21: resulting DOM for range [paras[0].firstChild, 0, paras[0].firstChild, 1], node doctype
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "A", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "A", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(1, 1, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_NODE_TYPE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_NODE_TYPE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass1,21: resulting range position for range [paras[0].firstChild, 0, paras[0].firstChild, 1], node doctype
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "A", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "A", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(1, 1, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-0-0", "0-1-1-0-0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass1,22: resulting DOM for range [paras[0].firstChild, 0, paras[0].firstChild, 1], node foreignDoctype
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "A", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "A", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_NODE_TYPE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_NODE_TYPE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass1,22: resulting range position for range [paras[0].firstChild, 0, paras[0].firstChild, 1], node foreignDoctype
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "A", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "A", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(1, 1, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-0-0", "0-1-1-0-0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass2,0: resulting DOM for range [paras[0].firstChild, 2, paras[0].firstChild, 8], node paras[0]
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "b̈c̈d̈", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "b̈c̈d̈", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(1, 1, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass2,0: resulting range position for range [paras[0].firstChild, 2, paras[0].firstChild, 8], node paras[0]
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Element node <p id="a"></p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Element node <p id="a"></p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(0, 0, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected p but got p")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-0", "0-1-1-0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass2,1: resulting DOM for range [paras[0].firstChild, 2, paras[0].firstChild, 8], node paras[0].firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "b̈c̈d̈", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "b̈c̈d̈", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(1, 1, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass2,1: resulting range position for range [paras[0].firstChild, 2, paras[0].firstChild, 8], node paras[0].firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Text node "Äëf̈g̈ḧ ", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Text node "Äëf̈g̈ḧ ", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(2, 2, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-0-0", "0-1-1-0-0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass2,2: resulting DOM for range [paras[0].firstChild, 2, paras[0].firstChild, 8], node paras[1].firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "b̈c̈d̈", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "b̈c̈d̈", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Text node "Ijklmnop ", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Text node "Ijklmnop ", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(1, 1, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass2,2: resulting range position for range [paras[0].firstChild, 2, paras[0].firstChild, 8], node paras[1].firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Ijklmnop ", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Ijklmnop ", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Text node "Ijklmnop ", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Text node "Ijklmnop ", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(2, 2, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-0-0", "0-1-1-0-0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass2,3: resulting DOM for range [paras[0].firstChild, 2, paras[0].firstChild, 8], node paras[5].firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "b̈c̈d̈", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "b̈c̈d̈", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Node object of unknown type, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Node object of unknown type, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(1, 1, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass2,3: resulting range position for range [paras[0].firstChild, 2, paras[0].firstChild, 8], node paras[5].firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "1234", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "1234", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Node object of unknown type, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Node object of unknown type, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(2, 2, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-0-0", "0-1-1-0-0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass2,4: resulting DOM for range [paras[0].firstChild, 2, paras[0].firstChild, 8], node foreignPara1
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "b̈c̈d̈", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "b̈c̈d̈", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Element node <p>Efghijkl</p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Element node <p>Efghijkl</p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass2,4: resulting range position for range [paras[0].firstChild, 2, paras[0].firstChild, 8], node foreignPara1
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "b̈c̈d̈", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "b̈c̈d̈", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Element node <p>b̈c̈d̈</p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Element node <p>b̈c̈d̈</p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(1, 1, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected p but got p")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-0", "0-1-1-0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass2,5: resulting DOM for range [paras[0].firstChild, 2, paras[0].firstChild, 8], node foreignPara1.firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "b̈c̈d̈", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "b̈c̈d̈", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Text node "Efghijkl", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Text node "Efghijkl", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass2,5: resulting range position for range [paras[0].firstChild, 2, paras[0].firstChild, 8], node foreignPara1.firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Efghijkl", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Efghijkl", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Text node "Efghijkl", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Text node "Efghijkl", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(2, 2, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-0-0", "0-1-1-0-0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass2,6: resulting DOM for range [paras[0].firstChild, 2, paras[0].firstChild, 8], node detachedPara1
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "b̈c̈d̈", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "b̈c̈d̈", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Element node <p>Opqrstuv</p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Element node <p>Opqrstuv</p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass2,6: resulting range position for range [paras[0].firstChild, 2, paras[0].firstChild, 8], node detachedPara1
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "b̈c̈d̈", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "b̈c̈d̈", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Element node <p>b̈c̈d̈</p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Element node <p>b̈c̈d̈</p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(1, 1, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected p but got p")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-0", "0-1-1-0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass2,7: resulting DOM for range [paras[0].firstChild, 2, paras[0].firstChild, 8], node detachedPara1.firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "b̈c̈d̈", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "b̈c̈d̈", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Text node "Opqrstuv", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Text node "Opqrstuv", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass2,7: resulting range position for range [paras[0].firstChild, 2, paras[0].firstChild, 8], node detachedPara1.firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Opqrstuv", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Opqrstuv", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Text node "Opqrstuv", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Text node "Opqrstuv", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(2, 2, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-0-0", "0-1-1-0-0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass2,8: resulting DOM for range [paras[0].firstChild, 2, paras[0].firstChild, 8], node document
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "b̈c̈d̈", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "b̈c̈d̈", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Document node with 2 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Document node with 2 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(1, 1, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_NODE_TYPE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_NODE_TYPE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass2,8: resulting range position for range [paras[0].firstChild, 2, paras[0].firstChild, 8], node document
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "b̈c̈d̈", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "b̈c̈d̈", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Document node with 2 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Document node with 2 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(2, 2, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(8, 8, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-0-0", "0-1-1-0-0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass2,9: resulting DOM for range [paras[0].firstChild, 2, paras[0].firstChild, 8], node detachedDiv
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "b̈c̈d̈", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "b̈c̈d̈", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Element node <div><p>Opqrstuv</p><p>Wxyzabcd</p></div>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Element node <div><p>Opqrstuv</p><p>Wxyzabcd</p></div>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass2,9: resulting range position for range [paras[0].firstChild, 2, paras[0].firstChild, 8], node detachedDiv
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "b̈c̈d̈", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "b̈c̈d̈", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Element node <div>b̈c̈d̈</div>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Element node <div>b̈c̈d̈</div>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(1, 1, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected p but got p")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-0", "0-1-1-0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass2,10: resulting DOM for range [paras[0].firstChild, 2, paras[0].firstChild, 8], node foreignDoc
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "b̈c̈d̈", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "b̈c̈d̈", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Document node with 3 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Document node with 3 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_NODE_TYPE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_NODE_TYPE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass2,10: resulting range position for range [paras[0].firstChild, 2, paras[0].firstChild, 8], node foreignDoc
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "b̈c̈d̈", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "b̈c̈d̈", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Document node with 3 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Document node with 3 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(2, 2, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(8, 8, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-0-0", "0-1-1-0-0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass2,11: resulting DOM for range [paras[0].firstChild, 2, paras[0].firstChild, 8], node foreignPara2
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "b̈c̈d̈", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "b̈c̈d̈", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Element node <p>Mnopqrst</p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Element node <p>Mnopqrst</p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass2,11: resulting range position for range [paras[0].firstChild, 2, paras[0].firstChild, 8], node foreignPara2
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "b̈c̈d̈", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "b̈c̈d̈", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Element node <p>b̈c̈d̈</p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Element node <p>b̈c̈d̈</p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(1, 1, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected p but got p")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-0", "0-1-1-0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass2,12: resulting DOM for range [paras[0].firstChild, 2, paras[0].firstChild, 8], node xmlDoc
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "b̈c̈d̈", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "b̈c̈d̈", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Document node with 4 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Document node with 4 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_NODE_TYPE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_NODE_TYPE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass2,12: resulting range position for range [paras[0].firstChild, 2, paras[0].firstChild, 8], node xmlDoc
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "b̈c̈d̈", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "b̈c̈d̈", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Document node with 4 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Document node with 4 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(2, 2, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(8, 8, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-0-0", "0-1-1-0-0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass2,13: resulting DOM for range [paras[0].firstChild, 2, paras[0].firstChild, 8], node xmlElement
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "b̈c̈d̈", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "b̈c̈d̈", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Element node <igiveuponcreativenames>do re mi fa so la ti</igiveuponcr..., null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Element node <igiveuponcreativenames>do re mi fa so la ti</igiveuponcr..., null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass2,13: resulting range position for range [paras[0].firstChild, 2, paras[0].firstChild, 8], node xmlElement
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "b̈c̈d̈", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "b̈c̈d̈", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Element node <igiveuponcreativenames>b̈c̈d̈</igiveuponcreativenames>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Element node <igiveuponcreativenames>b̈c̈d̈</igiveuponcreativenames>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(1, 1, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected p but got p")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-0", "0-1-1-0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass2,14: resulting DOM for range [paras[0].firstChild, 2, paras[0].firstChild, 8], node detachedTextNode
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "b̈c̈d̈", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "b̈c̈d̈", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Text node "Uvwxyzab", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Text node "Uvwxyzab", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass2,14: resulting range position for range [paras[0].firstChild, 2, paras[0].firstChild, 8], node detachedTextNode
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Uvwxyzab", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Uvwxyzab", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Text node "Uvwxyzab", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Text node "Uvwxyzab", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(2, 2, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-0-0", "0-1-1-0-0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass2,15: resulting DOM for range [paras[0].firstChild, 2, paras[0].firstChild, 8], node foreignTextNode
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "b̈c̈d̈", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "b̈c̈d̈", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Text node "I admit that I harbor doubts about whether we really need...", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Text node "I admit that I harbor doubts about whether we really need...", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass2,15: resulting range position for range [paras[0].firstChild, 2, paras[0].firstChild, 8], node foreignTextNode
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "I admit that I harbor doubts about whether we really need so many things to test, but it's too late to stop now.", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "I admit that I harbor doubts about whether we really need so many things to test, but it's too late to stop now.", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Text node "I admit that I harbor doubts about whether we really need...", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Text node "I admit that I harbor doubts about whether we really need...", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(2, 2, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-0-0", "0-1-1-0-0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass2,16: resulting DOM for range [paras[0].firstChild, 2, paras[0].firstChild, 8], node processingInstruction
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "b̈c̈d̈", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "b̈c̈d̈", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(ProcessingInstruction node with target "somePI" and data "Did you know that \":syn sync fromstart\" is very useful wh...", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(ProcessingInstruction node with target "somePI" and data "Did you know that \":syn sync fromstart\" is very useful wh...", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass2,16: resulting range position for range [paras[0].firstChild, 2, paras[0].firstChild, 8], node processingInstruction
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(ProcessingInstruction node with target "somePI" and data "Did you know that \":syn sync fromstart\" is very useful wh...", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(ProcessingInstruction node with target "somePI" and data "Did you know that \":syn sync fromstart\" is very useful wh...", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(2, 2, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-0-0", "0-1-1-0-0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass2,17: resulting DOM for range [paras[0].firstChild, 2, paras[0].firstChild, 8], node detachedProcessingInstruction
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "b̈c̈d̈", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "b̈c̈d̈", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(ProcessingInstruction node with target "whippoorwill" and data "chirp chirp chirp", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(ProcessingInstruction node with target "whippoorwill" and data "chirp chirp chirp", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass2,17: resulting range position for range [paras[0].firstChild, 2, paras[0].firstChild, 8], node detachedProcessingInstruction
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(ProcessingInstruction node with target "whippoorwill" and data "chirp chirp chirp", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(ProcessingInstruction node with target "whippoorwill" and data "chirp chirp chirp", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(2, 2, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-0-0", "0-1-1-0-0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass2,18: resulting DOM for range [paras[0].firstChild, 2, paras[0].firstChild, 8], node comment
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "b̈c̈d̈", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "b̈c̈d̈", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Comment node <!--Alphabet soup?-->, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Comment node <!--Alphabet soup?-->, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(1, 1, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass2,18: resulting range position for range [paras[0].firstChild, 2, paras[0].firstChild, 8], node comment
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Comment node <!--Alphabet soup?-->, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Comment node <!--Alphabet soup?-->, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(2, 2, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-0-0", "0-1-1-0-0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass2,19: resulting DOM for range [paras[0].firstChild, 2, paras[0].firstChild, 8], node detachedComment
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "b̈c̈d̈", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "b̈c̈d̈", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Comment node <!--Stuvwxyz-->, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Comment node <!--Stuvwxyz-->, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass2,19: resulting range position for range [paras[0].firstChild, 2, paras[0].firstChild, 8], node detachedComment
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Comment node <!--Stuvwxyz-->, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Comment node <!--Stuvwxyz-->, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(2, 2, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-0-0", "0-1-1-0-0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass2,20: resulting DOM for range [paras[0].firstChild, 2, paras[0].firstChild, 8], node docfrag
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "b̈c̈d̈", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "b̈c̈d̈", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(DocumentFragment node with 0 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(DocumentFragment node with 0 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_NODE_TYPE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_NODE_TYPE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass2,20: resulting range position for range [paras[0].firstChild, 2, paras[0].firstChild, 8], node docfrag
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "b̈c̈d̈", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "b̈c̈d̈", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(DocumentFragment node with 0 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(DocumentFragment node with 0 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(2, 2, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(8, 8, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-0-0", "0-1-1-0-0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass2,21: resulting DOM for range [paras[0].firstChild, 2, paras[0].firstChild, 8], node doctype
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "b̈c̈d̈", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "b̈c̈d̈", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(1, 1, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_NODE_TYPE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_NODE_TYPE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass2,21: resulting range position for range [paras[0].firstChild, 2, paras[0].firstChild, 8], node doctype
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "b̈c̈d̈", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "b̈c̈d̈", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(2, 2, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(8, 8, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-0-0", "0-1-1-0-0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass2,22: resulting DOM for range [paras[0].firstChild, 2, paras[0].firstChild, 8], node foreignDoctype
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "b̈c̈d̈", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "b̈c̈d̈", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_NODE_TYPE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_NODE_TYPE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass2,22: resulting range position for range [paras[0].firstChild, 2, paras[0].firstChild, 8], node foreignDoctype
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "b̈c̈d̈", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "b̈c̈d̈", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(2, 2, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(8, 8, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-0-0", "0-1-1-0-0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass3,0: resulting DOM for range [paras[0].firstChild, 2, paras[0].firstChild, 9], node paras[0]
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "b̈c̈d̈e", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "b̈c̈d̈e", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(1, 1, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass3,0: resulting range position for range [paras[0].firstChild, 2, paras[0].firstChild, 9], node paras[0]
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Element node <p id="a"></p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Element node <p id="a"></p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(0, 0, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected p but got p")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-0", "0-1-1-0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass3,1: resulting DOM for range [paras[0].firstChild, 2, paras[0].firstChild, 9], node paras[0].firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "b̈c̈d̈e", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "b̈c̈d̈e", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(1, 1, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass3,1: resulting range position for range [paras[0].firstChild, 2, paras[0].firstChild, 9], node paras[0].firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Text node "Ä̈f̈g̈ḧ ", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Text node "Ä̈f̈g̈ḧ ", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(2, 2, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-0-0", "0-1-1-0-0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass3,2: resulting DOM for range [paras[0].firstChild, 2, paras[0].firstChild, 9], node paras[1].firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "b̈c̈d̈e", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "b̈c̈d̈e", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Text node "Ijklmnop ", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Text node "Ijklmnop ", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(1, 1, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass3,2: resulting range position for range [paras[0].firstChild, 2, paras[0].firstChild, 9], node paras[1].firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Ijklmnop ", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Ijklmnop ", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Text node "Ijklmnop ", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Text node "Ijklmnop ", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(2, 2, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-0-0", "0-1-1-0-0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass3,3: resulting DOM for range [paras[0].firstChild, 2, paras[0].firstChild, 9], node paras[5].firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "b̈c̈d̈e", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "b̈c̈d̈e", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Node object of unknown type, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Node object of unknown type, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(1, 1, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass3,3: resulting range position for range [paras[0].firstChild, 2, paras[0].firstChild, 9], node paras[5].firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "1234", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "1234", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Node object of unknown type, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Node object of unknown type, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(2, 2, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-0-0", "0-1-1-0-0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass3,4: resulting DOM for range [paras[0].firstChild, 2, paras[0].firstChild, 9], node foreignPara1
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "b̈c̈d̈e", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "b̈c̈d̈e", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Element node <p>Efghijkl</p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Element node <p>Efghijkl</p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass3,4: resulting range position for range [paras[0].firstChild, 2, paras[0].firstChild, 9], node foreignPara1
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "b̈c̈d̈e", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "b̈c̈d̈e", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Element node <p>b̈c̈d̈e</p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Element node <p>b̈c̈d̈e</p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(1, 1, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected p but got p")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-0", "0-1-1-0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass3,5: resulting DOM for range [paras[0].firstChild, 2, paras[0].firstChild, 9], node foreignPara1.firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "b̈c̈d̈e", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "b̈c̈d̈e", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Text node "Efghijkl", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Text node "Efghijkl", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass3,5: resulting range position for range [paras[0].firstChild, 2, paras[0].firstChild, 9], node foreignPara1.firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Efghijkl", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Efghijkl", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Text node "Efghijkl", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Text node "Efghijkl", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(2, 2, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-0-0", "0-1-1-0-0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass3,6: resulting DOM for range [paras[0].firstChild, 2, paras[0].firstChild, 9], node detachedPara1
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "b̈c̈d̈e", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "b̈c̈d̈e", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Element node <p>Opqrstuv</p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Element node <p>Opqrstuv</p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass3,6: resulting range position for range [paras[0].firstChild, 2, paras[0].firstChild, 9], node detachedPara1
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "b̈c̈d̈e", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "b̈c̈d̈e", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Element node <p>b̈c̈d̈e</p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Element node <p>b̈c̈d̈e</p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(1, 1, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected p but got p")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-0", "0-1-1-0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass3,7: resulting DOM for range [paras[0].firstChild, 2, paras[0].firstChild, 9], node detachedPara1.firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "b̈c̈d̈e", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "b̈c̈d̈e", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Text node "Opqrstuv", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Text node "Opqrstuv", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass3,7: resulting range position for range [paras[0].firstChild, 2, paras[0].firstChild, 9], node detachedPara1.firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Opqrstuv", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Opqrstuv", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Text node "Opqrstuv", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Text node "Opqrstuv", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(2, 2, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-0-0", "0-1-1-0-0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass3,8: resulting DOM for range [paras[0].firstChild, 2, paras[0].firstChild, 9], node document
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "b̈c̈d̈e", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "b̈c̈d̈e", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Document node with 2 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Document node with 2 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(1, 1, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_NODE_TYPE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_NODE_TYPE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass3,8: resulting range position for range [paras[0].firstChild, 2, paras[0].firstChild, 9], node document
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "b̈c̈d̈e", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "b̈c̈d̈e", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Document node with 2 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Document node with 2 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(2, 2, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(9, 9, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-0-0", "0-1-1-0-0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass3,9: resulting DOM for range [paras[0].firstChild, 2, paras[0].firstChild, 9], node detachedDiv
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "b̈c̈d̈e", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "b̈c̈d̈e", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Element node <div><p>Opqrstuv</p><p>Wxyzabcd</p></div>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Element node <div><p>Opqrstuv</p><p>Wxyzabcd</p></div>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass3,9: resulting range position for range [paras[0].firstChild, 2, paras[0].firstChild, 9], node detachedDiv
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "b̈c̈d̈e", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "b̈c̈d̈e", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Element node <div>b̈c̈d̈e</div>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Element node <div>b̈c̈d̈e</div>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(1, 1, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected p but got p")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-0", "0-1-1-0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass3,10: resulting DOM for range [paras[0].firstChild, 2, paras[0].firstChild, 9], node foreignDoc
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "b̈c̈d̈e", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "b̈c̈d̈e", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Document node with 3 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Document node with 3 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_NODE_TYPE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_NODE_TYPE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass3,10: resulting range position for range [paras[0].firstChild, 2, paras[0].firstChild, 9], node foreignDoc
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "b̈c̈d̈e", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "b̈c̈d̈e", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Document node with 3 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Document node with 3 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(2, 2, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(9, 9, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-0-0", "0-1-1-0-0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass3,11: resulting DOM for range [paras[0].firstChild, 2, paras[0].firstChild, 9], node foreignPara2
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "b̈c̈d̈e", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "b̈c̈d̈e", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Element node <p>Mnopqrst</p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Element node <p>Mnopqrst</p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass3,11: resulting range position for range [paras[0].firstChild, 2, paras[0].firstChild, 9], node foreignPara2
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "b̈c̈d̈e", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "b̈c̈d̈e", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Element node <p>b̈c̈d̈e</p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Element node <p>b̈c̈d̈e</p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(1, 1, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected p but got p")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-0", "0-1-1-0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass3,12: resulting DOM for range [paras[0].firstChild, 2, paras[0].firstChild, 9], node xmlDoc
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "b̈c̈d̈e", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "b̈c̈d̈e", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Document node with 4 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Document node with 4 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_NODE_TYPE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_NODE_TYPE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass3,12: resulting range position for range [paras[0].firstChild, 2, paras[0].firstChild, 9], node xmlDoc
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "b̈c̈d̈e", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "b̈c̈d̈e", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Document node with 4 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Document node with 4 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(2, 2, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(9, 9, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-0-0", "0-1-1-0-0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass3,13: resulting DOM for range [paras[0].firstChild, 2, paras[0].firstChild, 9], node xmlElement
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "b̈c̈d̈e", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "b̈c̈d̈e", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Element node <igiveuponcreativenames>do re mi fa so la ti</igiveuponcr..., null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Element node <igiveuponcreativenames>do re mi fa so la ti</igiveuponcr..., null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass3,13: resulting range position for range [paras[0].firstChild, 2, paras[0].firstChild, 9], node xmlElement
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "b̈c̈d̈e", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "b̈c̈d̈e", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Element node <igiveuponcreativenames>b̈c̈d̈e</igiveuponcreativenames>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Element node <igiveuponcreativenames>b̈c̈d̈e</igiveuponcreativenames>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(1, 1, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected p but got p")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-0", "0-1-1-0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass3,14: resulting DOM for range [paras[0].firstChild, 2, paras[0].firstChild, 9], node detachedTextNode
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "b̈c̈d̈e", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "b̈c̈d̈e", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Text node "Uvwxyzab", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Text node "Uvwxyzab", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass3,14: resulting range position for range [paras[0].firstChild, 2, paras[0].firstChild, 9], node detachedTextNode
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Uvwxyzab", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Uvwxyzab", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Text node "Uvwxyzab", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Text node "Uvwxyzab", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(2, 2, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-0-0", "0-1-1-0-0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass3,15: resulting DOM for range [paras[0].firstChild, 2, paras[0].firstChild, 9], node foreignTextNode
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "b̈c̈d̈e", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "b̈c̈d̈e", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Text node "I admit that I harbor doubts about whether we really need...", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Text node "I admit that I harbor doubts about whether we really need...", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass3,15: resulting range position for range [paras[0].firstChild, 2, paras[0].firstChild, 9], node foreignTextNode
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "I admit that I harbor doubts about whether we really need so many things to test, but it's too late to stop now.", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "I admit that I harbor doubts about whether we really need so many things to test, but it's too late to stop now.", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Text node "I admit that I harbor doubts about whether we really need...", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Text node "I admit that I harbor doubts about whether we really need...", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(2, 2, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-0-0", "0-1-1-0-0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass3,16: resulting DOM for range [paras[0].firstChild, 2, paras[0].firstChild, 9], node processingInstruction
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "b̈c̈d̈e", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "b̈c̈d̈e", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(ProcessingInstruction node with target "somePI" and data "Did you know that \":syn sync fromstart\" is very useful wh...", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(ProcessingInstruction node with target "somePI" and data "Did you know that \":syn sync fromstart\" is very useful wh...", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass3,16: resulting range position for range [paras[0].firstChild, 2, paras[0].firstChild, 9], node processingInstruction
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(ProcessingInstruction node with target "somePI" and data "Did you know that \":syn sync fromstart\" is very useful wh...", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(ProcessingInstruction node with target "somePI" and data "Did you know that \":syn sync fromstart\" is very useful wh...", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(2, 2, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-0-0", "0-1-1-0-0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass3,17: resulting DOM for range [paras[0].firstChild, 2, paras[0].firstChild, 9], node detachedProcessingInstruction
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "b̈c̈d̈e", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "b̈c̈d̈e", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(ProcessingInstruction node with target "whippoorwill" and data "chirp chirp chirp", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(ProcessingInstruction node with target "whippoorwill" and data "chirp chirp chirp", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass3,17: resulting range position for range [paras[0].firstChild, 2, paras[0].firstChild, 9], node detachedProcessingInstruction
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(ProcessingInstruction node with target "whippoorwill" and data "chirp chirp chirp", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(ProcessingInstruction node with target "whippoorwill" and data "chirp chirp chirp", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(2, 2, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-0-0", "0-1-1-0-0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass3,18: resulting DOM for range [paras[0].firstChild, 2, paras[0].firstChild, 9], node comment
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "b̈c̈d̈e", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "b̈c̈d̈e", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Comment node <!--Alphabet soup?-->, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Comment node <!--Alphabet soup?-->, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(1, 1, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass3,18: resulting range position for range [paras[0].firstChild, 2, paras[0].firstChild, 9], node comment
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Comment node <!--Alphabet soup?-->, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Comment node <!--Alphabet soup?-->, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(2, 2, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-0-0", "0-1-1-0-0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass3,19: resulting DOM for range [paras[0].firstChild, 2, paras[0].firstChild, 9], node detachedComment
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "b̈c̈d̈e", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "b̈c̈d̈e", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Comment node <!--Stuvwxyz-->, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Comment node <!--Stuvwxyz-->, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass3,19: resulting range position for range [paras[0].firstChild, 2, paras[0].firstChild, 9], node detachedComment
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Comment node <!--Stuvwxyz-->, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Comment node <!--Stuvwxyz-->, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(2, 2, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-0-0", "0-1-1-0-0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass3,20: resulting DOM for range [paras[0].firstChild, 2, paras[0].firstChild, 9], node docfrag
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "b̈c̈d̈e", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "b̈c̈d̈e", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(DocumentFragment node with 0 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(DocumentFragment node with 0 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_NODE_TYPE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_NODE_TYPE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass3,20: resulting range position for range [paras[0].firstChild, 2, paras[0].firstChild, 9], node docfrag
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "b̈c̈d̈e", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "b̈c̈d̈e", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(DocumentFragment node with 0 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(DocumentFragment node with 0 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(2, 2, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(9, 9, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-0-0", "0-1-1-0-0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass3,21: resulting DOM for range [paras[0].firstChild, 2, paras[0].firstChild, 9], node doctype
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "b̈c̈d̈e", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "b̈c̈d̈e", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(1, 1, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_NODE_TYPE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_NODE_TYPE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass3,21: resulting range position for range [paras[0].firstChild, 2, paras[0].firstChild, 9], node doctype
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "b̈c̈d̈e", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "b̈c̈d̈e", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(2, 2, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(9, 9, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-0-0", "0-1-1-0-0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass3,22: resulting DOM for range [paras[0].firstChild, 2, paras[0].firstChild, 9], node foreignDoctype
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "b̈c̈d̈e", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "b̈c̈d̈e", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_NODE_TYPE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_NODE_TYPE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass3,22: resulting range position for range [paras[0].firstChild, 2, paras[0].firstChild, 9], node foreignDoctype
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "b̈c̈d̈e", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "b̈c̈d̈e", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(2, 2, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(9, 9, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-0-0", "0-1-1-0-0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass4,0: resulting DOM for range [paras[1].firstChild, 0, paras[1].firstChild, 0], node paras[0]
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(1, 1, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass4,0: resulting range position for range [paras[1].firstChild, 0, paras[1].firstChild, 0], node paras[0]
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Element node <p id="a"></p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Element node <p id="a"></p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(1, 1, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected p but got p")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-0", "0-1-1-0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass4,1: resulting DOM for range [paras[1].firstChild, 0, paras[1].firstChild, 0], node paras[0].firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(1, 1, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass4,1: resulting range position for range [paras[1].firstChild, 0, paras[1].firstChild, 0], node paras[0].firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-1-0", "0-1-1-0-1-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass4,2: resulting DOM for range [paras[1].firstChild, 0, paras[1].firstChild, 0], node paras[1].firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Text node "Ijklmnop ", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Text node "Ijklmnop ", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(1, 1, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass4,2: resulting range position for range [paras[1].firstChild, 0, paras[1].firstChild, 0], node paras[1].firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Text node "Ijklmnop ", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Text node "Ijklmnop ", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(0, 0, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-1-0", "0-1-1-0-1-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass4,3: resulting DOM for range [paras[1].firstChild, 0, paras[1].firstChild, 0], node paras[5].firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Node object of unknown type, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Node object of unknown type, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(1, 1, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass4,3: resulting range position for range [paras[1].firstChild, 0, paras[1].firstChild, 0], node paras[5].firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "1234", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "1234", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Node object of unknown type, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Node object of unknown type, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-1-0", "0-1-1-0-1-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass4,4: resulting DOM for range [paras[1].firstChild, 0, paras[1].firstChild, 0], node foreignPara1
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Element node <p>Efghijkl</p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Element node <p>Efghijkl</p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass4,4: resulting range position for range [paras[1].firstChild, 0, paras[1].firstChild, 0], node foreignPara1
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Element node <p></p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Element node <p></p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(1, 1, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected p but got p")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-1", "0-1-1-0-1", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass4,5: resulting DOM for range [paras[1].firstChild, 0, paras[1].firstChild, 0], node foreignPara1.firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Text node "Efghijkl", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Text node "Efghijkl", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass4,5: resulting range position for range [paras[1].firstChild, 0, paras[1].firstChild, 0], node foreignPara1.firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Efghijkl", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Efghijkl", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Text node "Efghijkl", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Text node "Efghijkl", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-1-0", "0-1-1-0-1-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass4,6: resulting DOM for range [paras[1].firstChild, 0, paras[1].firstChild, 0], node detachedPara1
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Element node <p>Opqrstuv</p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Element node <p>Opqrstuv</p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass4,6: resulting range position for range [paras[1].firstChild, 0, paras[1].firstChild, 0], node detachedPara1
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Element node <p></p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Element node <p></p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(1, 1, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected p but got p")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-1", "0-1-1-0-1", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass4,7: resulting DOM for range [paras[1].firstChild, 0, paras[1].firstChild, 0], node detachedPara1.firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Text node "Opqrstuv", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Text node "Opqrstuv", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass4,7: resulting range position for range [paras[1].firstChild, 0, paras[1].firstChild, 0], node detachedPara1.firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Opqrstuv", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Opqrstuv", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Text node "Opqrstuv", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Text node "Opqrstuv", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-1-0", "0-1-1-0-1-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass4,8: resulting DOM for range [paras[1].firstChild, 0, paras[1].firstChild, 0], node document
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Document node with 2 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Document node with 2 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(1, 1, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_NODE_TYPE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_NODE_TYPE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass4,8: resulting range position for range [paras[1].firstChild, 0, paras[1].firstChild, 0], node document
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Document node with 2 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Document node with 2 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(0, 0, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-1-0", "0-1-1-0-1-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass4,9: resulting DOM for range [paras[1].firstChild, 0, paras[1].firstChild, 0], node detachedDiv
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Element node <div><p>Opqrstuv</p><p>Wxyzabcd</p></div>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Element node <div><p>Opqrstuv</p><p>Wxyzabcd</p></div>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass4,9: resulting range position for range [paras[1].firstChild, 0, paras[1].firstChild, 0], node detachedDiv
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Element node <div></div>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Element node <div></div>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(1, 1, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected p but got p")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-1", "0-1-1-0-1", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass4,10: resulting DOM for range [paras[1].firstChild, 0, paras[1].firstChild, 0], node foreignDoc
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Document node with 3 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Document node with 3 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_NODE_TYPE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_NODE_TYPE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass4,10: resulting range position for range [paras[1].firstChild, 0, paras[1].firstChild, 0], node foreignDoc
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Document node with 3 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Document node with 3 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(0, 0, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-1-0", "0-1-1-0-1-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass4,11: resulting DOM for range [paras[1].firstChild, 0, paras[1].firstChild, 0], node foreignPara2
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Element node <p>Mnopqrst</p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Element node <p>Mnopqrst</p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass4,11: resulting range position for range [paras[1].firstChild, 0, paras[1].firstChild, 0], node foreignPara2
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Element node <p></p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Element node <p></p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(1, 1, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected p but got p")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-1", "0-1-1-0-1", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass4,12: resulting DOM for range [paras[1].firstChild, 0, paras[1].firstChild, 0], node xmlDoc
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Document node with 4 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Document node with 4 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_NODE_TYPE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_NODE_TYPE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass4,12: resulting range position for range [paras[1].firstChild, 0, paras[1].firstChild, 0], node xmlDoc
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Document node with 4 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Document node with 4 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(0, 0, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-1-0", "0-1-1-0-1-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass4,13: resulting DOM for range [paras[1].firstChild, 0, paras[1].firstChild, 0], node xmlElement
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Element node <igiveuponcreativenames>do re mi fa so la ti</igiveuponcr..., null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Element node <igiveuponcreativenames>do re mi fa so la ti</igiveuponcr..., null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass4,13: resulting range position for range [paras[1].firstChild, 0, paras[1].firstChild, 0], node xmlElement
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Element node <igiveuponcreativenames></igiveuponcreativenames>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Element node <igiveuponcreativenames></igiveuponcreativenames>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(1, 1, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected p but got p")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-1", "0-1-1-0-1", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass4,14: resulting DOM for range [paras[1].firstChild, 0, paras[1].firstChild, 0], node detachedTextNode
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Text node "Uvwxyzab", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Text node "Uvwxyzab", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass4,14: resulting range position for range [paras[1].firstChild, 0, paras[1].firstChild, 0], node detachedTextNode
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Uvwxyzab", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Uvwxyzab", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Text node "Uvwxyzab", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Text node "Uvwxyzab", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-1-0", "0-1-1-0-1-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass4,15: resulting DOM for range [paras[1].firstChild, 0, paras[1].firstChild, 0], node foreignTextNode
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Text node "I admit that I harbor doubts about whether we really need...", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Text node "I admit that I harbor doubts about whether we really need...", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass4,15: resulting range position for range [paras[1].firstChild, 0, paras[1].firstChild, 0], node foreignTextNode
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "I admit that I harbor doubts about whether we really need so many things to test, but it's too late to stop now.", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "I admit that I harbor doubts about whether we really need so many things to test, but it's too late to stop now.", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Text node "I admit that I harbor doubts about whether we really need...", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Text node "I admit that I harbor doubts about whether we really need...", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-1-0", "0-1-1-0-1-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass4,16: resulting DOM for range [paras[1].firstChild, 0, paras[1].firstChild, 0], node processingInstruction
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(ProcessingInstruction node with target "somePI" and data "Did you know that \":syn sync fromstart\" is very useful wh...", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(ProcessingInstruction node with target "somePI" and data "Did you know that \":syn sync fromstart\" is very useful wh...", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass4,16: resulting range position for range [paras[1].firstChild, 0, paras[1].firstChild, 0], node processingInstruction
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(ProcessingInstruction node with target "somePI" and data "Did you know that \":syn sync fromstart\" is very useful wh...", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(ProcessingInstruction node with target "somePI" and data "Did you know that \":syn sync fromstart\" is very useful wh...", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-1-0", "0-1-1-0-1-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass4,17: resulting DOM for range [paras[1].firstChild, 0, paras[1].firstChild, 0], node detachedProcessingInstruction
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(ProcessingInstruction node with target "whippoorwill" and data "chirp chirp chirp", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(ProcessingInstruction node with target "whippoorwill" and data "chirp chirp chirp", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass4,17: resulting range position for range [paras[1].firstChild, 0, paras[1].firstChild, 0], node detachedProcessingInstruction
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(ProcessingInstruction node with target "whippoorwill" and data "chirp chirp chirp", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(ProcessingInstruction node with target "whippoorwill" and data "chirp chirp chirp", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-1-0", "0-1-1-0-1-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass4,18: resulting DOM for range [paras[1].firstChild, 0, paras[1].firstChild, 0], node comment
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Comment node <!--Alphabet soup?-->, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Comment node <!--Alphabet soup?-->, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(1, 1, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass4,18: resulting range position for range [paras[1].firstChild, 0, paras[1].firstChild, 0], node comment
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Comment node <!--Alphabet soup?-->, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Comment node <!--Alphabet soup?-->, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-1-0", "0-1-1-0-1-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass4,19: resulting DOM for range [paras[1].firstChild, 0, paras[1].firstChild, 0], node detachedComment
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Comment node <!--Stuvwxyz-->, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Comment node <!--Stuvwxyz-->, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass4,19: resulting range position for range [paras[1].firstChild, 0, paras[1].firstChild, 0], node detachedComment
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Comment node <!--Stuvwxyz-->, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Comment node <!--Stuvwxyz-->, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-1-0", "0-1-1-0-1-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass4,20: resulting DOM for range [paras[1].firstChild, 0, paras[1].firstChild, 0], node docfrag
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(DocumentFragment node with 0 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(DocumentFragment node with 0 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_NODE_TYPE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_NODE_TYPE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass4,20: resulting range position for range [paras[1].firstChild, 0, paras[1].firstChild, 0], node docfrag
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(DocumentFragment node with 0 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(DocumentFragment node with 0 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(0, 0, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-1-0", "0-1-1-0-1-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass4,21: resulting DOM for range [paras[1].firstChild, 0, paras[1].firstChild, 0], node doctype
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(1, 1, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_NODE_TYPE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_NODE_TYPE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass4,21: resulting range position for range [paras[1].firstChild, 0, paras[1].firstChild, 0], node doctype
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(0, 0, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-1-0", "0-1-1-0-1-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass4,22: resulting DOM for range [paras[1].firstChild, 0, paras[1].firstChild, 0], node foreignDoctype
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_NODE_TYPE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_NODE_TYPE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass4,22: resulting range position for range [paras[1].firstChild, 0, paras[1].firstChild, 0], node foreignDoctype
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(0, 0, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-1-0", "0-1-1-0-1-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass5,0: resulting DOM for range [paras[1].firstChild, 2, paras[1].firstChild, 9], node paras[0]
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "klmnop ", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "klmnop ", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(1, 1, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass5,0: resulting range position for range [paras[1].firstChild, 2, paras[1].firstChild, 9], node paras[0]
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "klmnop ", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "klmnop ", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Element node <p id="a">klmnop </p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Element node <p id="a">klmnop </p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(1, 1, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected p but got p")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-0", "0-1-1-0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass5,1: resulting DOM for range [paras[1].firstChild, 2, paras[1].firstChild, 9], node paras[0].firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "klmnop ", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "klmnop ", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(1, 1, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass5,1: resulting range position for range [paras[1].firstChild, 2, paras[1].firstChild, 9], node paras[0].firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(2, 2, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-1-0", "0-1-1-0-1-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass5,2: resulting DOM for range [paras[1].firstChild, 2, paras[1].firstChild, 9], node paras[1].firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "klmnop ", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "klmnop ", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Text node "Ijklmnop ", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Text node "Ijklmnop ", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(1, 1, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass5,2: resulting range position for range [paras[1].firstChild, 2, paras[1].firstChild, 9], node paras[1].firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Text node "Ij", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Text node "Ij", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(2, 2, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-1-0", "0-1-1-0-1-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass5,3: resulting DOM for range [paras[1].firstChild, 2, paras[1].firstChild, 9], node paras[5].firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "klmnop ", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "klmnop ", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Node object of unknown type, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Node object of unknown type, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(1, 1, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass5,3: resulting range position for range [paras[1].firstChild, 2, paras[1].firstChild, 9], node paras[5].firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "1234", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "1234", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Node object of unknown type, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Node object of unknown type, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(2, 2, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-1-0", "0-1-1-0-1-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass5,4: resulting DOM for range [paras[1].firstChild, 2, paras[1].firstChild, 9], node foreignPara1
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "klmnop ", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "klmnop ", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Element node <p>Efghijkl</p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Element node <p>Efghijkl</p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass5,4: resulting range position for range [paras[1].firstChild, 2, paras[1].firstChild, 9], node foreignPara1
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "klmnop ", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "klmnop ", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Element node <p>klmnop </p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Element node <p>klmnop </p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(1, 1, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected p but got p")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-1", "0-1-1-0-1", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass5,5: resulting DOM for range [paras[1].firstChild, 2, paras[1].firstChild, 9], node foreignPara1.firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "klmnop ", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "klmnop ", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Text node "Efghijkl", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Text node "Efghijkl", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass5,5: resulting range position for range [paras[1].firstChild, 2, paras[1].firstChild, 9], node foreignPara1.firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Efghijkl", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Efghijkl", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Text node "Efghijkl", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Text node "Efghijkl", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(2, 2, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-1-0", "0-1-1-0-1-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass5,6: resulting DOM for range [paras[1].firstChild, 2, paras[1].firstChild, 9], node detachedPara1
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "klmnop ", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "klmnop ", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Element node <p>Opqrstuv</p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Element node <p>Opqrstuv</p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass5,6: resulting range position for range [paras[1].firstChild, 2, paras[1].firstChild, 9], node detachedPara1
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "klmnop ", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "klmnop ", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Element node <p>klmnop </p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Element node <p>klmnop </p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(1, 1, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected p but got p")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-1", "0-1-1-0-1", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass5,7: resulting DOM for range [paras[1].firstChild, 2, paras[1].firstChild, 9], node detachedPara1.firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "klmnop ", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "klmnop ", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Text node "Opqrstuv", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Text node "Opqrstuv", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass5,7: resulting range position for range [paras[1].firstChild, 2, paras[1].firstChild, 9], node detachedPara1.firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Opqrstuv", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Opqrstuv", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Text node "Opqrstuv", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Text node "Opqrstuv", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(2, 2, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-1-0", "0-1-1-0-1-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass5,8: resulting DOM for range [paras[1].firstChild, 2, paras[1].firstChild, 9], node document
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "klmnop ", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "klmnop ", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Document node with 2 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Document node with 2 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(1, 1, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_NODE_TYPE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_NODE_TYPE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass5,8: resulting range position for range [paras[1].firstChild, 2, paras[1].firstChild, 9], node document
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "klmnop ", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "klmnop ", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Document node with 2 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Document node with 2 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(2, 2, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(9, 9, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-1-0", "0-1-1-0-1-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass5,9: resulting DOM for range [paras[1].firstChild, 2, paras[1].firstChild, 9], node detachedDiv
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "klmnop ", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "klmnop ", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Element node <div><p>Opqrstuv</p><p>Wxyzabcd</p></div>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Element node <div><p>Opqrstuv</p><p>Wxyzabcd</p></div>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass5,9: resulting range position for range [paras[1].firstChild, 2, paras[1].firstChild, 9], node detachedDiv
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "klmnop ", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "klmnop ", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Element node <div>klmnop </div>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Element node <div>klmnop </div>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(1, 1, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected p but got p")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-1", "0-1-1-0-1", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass5,10: resulting DOM for range [paras[1].firstChild, 2, paras[1].firstChild, 9], node foreignDoc
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "klmnop ", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "klmnop ", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Document node with 3 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Document node with 3 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_NODE_TYPE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_NODE_TYPE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass5,10: resulting range position for range [paras[1].firstChild, 2, paras[1].firstChild, 9], node foreignDoc
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "klmnop ", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "klmnop ", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Document node with 3 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Document node with 3 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(2, 2, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(9, 9, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-1-0", "0-1-1-0-1-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass5,11: resulting DOM for range [paras[1].firstChild, 2, paras[1].firstChild, 9], node foreignPara2
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "klmnop ", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "klmnop ", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Element node <p>Mnopqrst</p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Element node <p>Mnopqrst</p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass5,11: resulting range position for range [paras[1].firstChild, 2, paras[1].firstChild, 9], node foreignPara2
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "klmnop ", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "klmnop ", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Element node <p>klmnop </p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Element node <p>klmnop </p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(1, 1, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected p but got p")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-1", "0-1-1-0-1", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass5,12: resulting DOM for range [paras[1].firstChild, 2, paras[1].firstChild, 9], node xmlDoc
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "klmnop ", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "klmnop ", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Document node with 4 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Document node with 4 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_NODE_TYPE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_NODE_TYPE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass5,12: resulting range position for range [paras[1].firstChild, 2, paras[1].firstChild, 9], node xmlDoc
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "klmnop ", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "klmnop ", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Document node with 4 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Document node with 4 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(2, 2, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(9, 9, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-1-0", "0-1-1-0-1-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass5,13: resulting DOM for range [paras[1].firstChild, 2, paras[1].firstChild, 9], node xmlElement
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "klmnop ", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "klmnop ", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Element node <igiveuponcreativenames>do re mi fa so la ti</igiveuponcr..., null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Element node <igiveuponcreativenames>do re mi fa so la ti</igiveuponcr..., null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass5,13: resulting range position for range [paras[1].firstChild, 2, paras[1].firstChild, 9], node xmlElement
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "klmnop ", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "klmnop ", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Element node <igiveuponcreativenames>klmnop </igiveuponcreativenames>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Element node <igiveuponcreativenames>klmnop </igiveuponcreativenames>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(1, 1, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected p but got p")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-1", "0-1-1-0-1", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass5,14: resulting DOM for range [paras[1].firstChild, 2, paras[1].firstChild, 9], node detachedTextNode
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "klmnop ", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "klmnop ", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Text node "Uvwxyzab", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Text node "Uvwxyzab", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass5,14: resulting range position for range [paras[1].firstChild, 2, paras[1].firstChild, 9], node detachedTextNode
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Uvwxyzab", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Uvwxyzab", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Text node "Uvwxyzab", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Text node "Uvwxyzab", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(2, 2, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-1-0", "0-1-1-0-1-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass5,15: resulting DOM for range [paras[1].firstChild, 2, paras[1].firstChild, 9], node foreignTextNode
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "klmnop ", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "klmnop ", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Text node "I admit that I harbor doubts about whether we really need...", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Text node "I admit that I harbor doubts about whether we really need...", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass5,15: resulting range position for range [paras[1].firstChild, 2, paras[1].firstChild, 9], node foreignTextNode
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "I admit that I harbor doubts about whether we really need so many things to test, but it's too late to stop now.", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "I admit that I harbor doubts about whether we really need so many things to test, but it's too late to stop now.", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Text node "I admit that I harbor doubts about whether we really need...", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Text node "I admit that I harbor doubts about whether we really need...", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(2, 2, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-1-0", "0-1-1-0-1-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass5,16: resulting DOM for range [paras[1].firstChild, 2, paras[1].firstChild, 9], node processingInstruction
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "klmnop ", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "klmnop ", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(ProcessingInstruction node with target "somePI" and data "Did you know that \":syn sync fromstart\" is very useful wh...", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(ProcessingInstruction node with target "somePI" and data "Did you know that \":syn sync fromstart\" is very useful wh...", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass5,16: resulting range position for range [paras[1].firstChild, 2, paras[1].firstChild, 9], node processingInstruction
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(ProcessingInstruction node with target "somePI" and data "Did you know that \":syn sync fromstart\" is very useful wh...", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(ProcessingInstruction node with target "somePI" and data "Did you know that \":syn sync fromstart\" is very useful wh...", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(2, 2, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-1-0", "0-1-1-0-1-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass5,17: resulting DOM for range [paras[1].firstChild, 2, paras[1].firstChild, 9], node detachedProcessingInstruction
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "klmnop ", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "klmnop ", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(ProcessingInstruction node with target "whippoorwill" and data "chirp chirp chirp", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(ProcessingInstruction node with target "whippoorwill" and data "chirp chirp chirp", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass5,17: resulting range position for range [paras[1].firstChild, 2, paras[1].firstChild, 9], node detachedProcessingInstruction
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(ProcessingInstruction node with target "whippoorwill" and data "chirp chirp chirp", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(ProcessingInstruction node with target "whippoorwill" and data "chirp chirp chirp", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(2, 2, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-1-0", "0-1-1-0-1-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass5,18: resulting DOM for range [paras[1].firstChild, 2, paras[1].firstChild, 9], node comment
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "klmnop ", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "klmnop ", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Comment node <!--Alphabet soup?-->, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Comment node <!--Alphabet soup?-->, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(1, 1, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass5,18: resulting range position for range [paras[1].firstChild, 2, paras[1].firstChild, 9], node comment
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Comment node <!--Alphabet soup?-->, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Comment node <!--Alphabet soup?-->, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(2, 2, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-1-0", "0-1-1-0-1-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass5,19: resulting DOM for range [paras[1].firstChild, 2, paras[1].firstChild, 9], node detachedComment
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "klmnop ", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "klmnop ", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Comment node <!--Stuvwxyz-->, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Comment node <!--Stuvwxyz-->, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass5,19: resulting range position for range [paras[1].firstChild, 2, paras[1].firstChild, 9], node detachedComment
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Comment node <!--Stuvwxyz-->, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Comment node <!--Stuvwxyz-->, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(2, 2, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-1-0", "0-1-1-0-1-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass5,20: resulting DOM for range [paras[1].firstChild, 2, paras[1].firstChild, 9], node docfrag
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "klmnop ", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "klmnop ", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(DocumentFragment node with 0 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(DocumentFragment node with 0 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_NODE_TYPE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_NODE_TYPE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass5,20: resulting range position for range [paras[1].firstChild, 2, paras[1].firstChild, 9], node docfrag
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "klmnop ", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "klmnop ", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(DocumentFragment node with 0 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(DocumentFragment node with 0 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(2, 2, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(9, 9, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-1-0", "0-1-1-0-1-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass5,21: resulting DOM for range [paras[1].firstChild, 2, paras[1].firstChild, 9], node doctype
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "klmnop ", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "klmnop ", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(1, 1, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_NODE_TYPE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_NODE_TYPE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass5,21: resulting range position for range [paras[1].firstChild, 2, paras[1].firstChild, 9], node doctype
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "klmnop ", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "klmnop ", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(2, 2, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(9, 9, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-1-0", "0-1-1-0-1-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass5,22: resulting DOM for range [paras[1].firstChild, 2, paras[1].firstChild, 9], node foreignDoctype
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "klmnop ", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "klmnop ", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_NODE_TYPE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_NODE_TYPE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass5,22: resulting range position for range [paras[1].firstChild, 2, paras[1].firstChild, 9], node foreignDoctype
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "klmnop ", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "klmnop ", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(2, 2, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(9, 9, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-1-0", "0-1-1-0-1-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass6,0: resulting DOM for range [paras[5].firstChild, 2, paras[5].lastChild, 4], node paras[0]
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "3456789012", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "3456789012", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(1, 1, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass6,0: resulting range position for range [paras[5].firstChild, 2, paras[5].lastChild, 4], node paras[0]
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "3456789012", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "3456789012", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Element node <p id="a"><![CDATA[34]]><![CDATA[5678]]>9012</p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Element node <p id="a"><![CDATA[34]]><![CDATA[5678]]>9012</p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(1, 1, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected p but got p")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-4", "0-1-1-0-4", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass6,1: resulting DOM for range [paras[5].firstChild, 2, paras[5].lastChild, 4], node paras[0].firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "3456789012", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "3456789012", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(1, 1, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass6,1: resulting range position for range [paras[5].firstChild, 2, paras[5].lastChild, 4], node paras[0].firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(1, 1, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected p but got p")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-5", "0-1-1-0-5", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass6,2: resulting DOM for range [paras[5].firstChild, 2, paras[5].lastChild, 4], node paras[1].firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "3456789012", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "3456789012", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Text node "Ijklmnop ", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Text node "Ijklmnop ", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(1, 1, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass6,2: resulting range position for range [paras[5].firstChild, 2, paras[5].lastChild, 4], node paras[1].firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Ijklmnop ", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Ijklmnop ", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Text node "Ijklmnop ", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Text node "Ijklmnop ", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(1, 1, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected p but got p")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-5", "0-1-1-0-5", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass6,3: resulting DOM for range [paras[5].firstChild, 2, paras[5].lastChild, 4], node paras[5].firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "3456789012", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "3456789012", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Node object of unknown type, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Node object of unknown type, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(1, 1, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass6,3: resulting range position for range [paras[5].firstChild, 2, paras[5].lastChild, 4], node paras[5].firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "12", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "12", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Node object of unknown type, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Node object of unknown type, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(1, 1, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected p but got p")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-5", "0-1-1-0-5", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass6,4: resulting DOM for range [paras[5].firstChild, 2, paras[5].lastChild, 4], node foreignPara1
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "3456789012", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "3456789012", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Element node <p>Efghijkl</p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Element node <p>Efghijkl</p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass6,4: resulting range position for range [paras[5].firstChild, 2, paras[5].lastChild, 4], node foreignPara1
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "3456789012", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "3456789012", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Element node <p><![CDATA[34]]><![CDATA[5678]]>9012</p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Element node <p><![CDATA[34]]><![CDATA[5678]]>9012</p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(1, 1, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected p but got p")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-5", "0-1-1-0-5", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass6,5: resulting DOM for range [paras[5].firstChild, 2, paras[5].lastChild, 4], node foreignPara1.firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "3456789012", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "3456789012", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Text node "Efghijkl", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Text node "Efghijkl", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass6,5: resulting range position for range [paras[5].firstChild, 2, paras[5].lastChild, 4], node foreignPara1.firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Efghijkl", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Efghijkl", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Text node "Efghijkl", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Text node "Efghijkl", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(1, 1, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected p but got p")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-5", "0-1-1-0-5", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass6,6: resulting DOM for range [paras[5].firstChild, 2, paras[5].lastChild, 4], node detachedPara1
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "3456789012", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "3456789012", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Element node <p>Opqrstuv</p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Element node <p>Opqrstuv</p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass6,6: resulting range position for range [paras[5].firstChild, 2, paras[5].lastChild, 4], node detachedPara1
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "3456789012", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "3456789012", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Element node <p><![CDATA[34]]><![CDATA[5678]]>9012</p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Element node <p><![CDATA[34]]><![CDATA[5678]]>9012</p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(1, 1, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected p but got p")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-5", "0-1-1-0-5", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass6,7: resulting DOM for range [paras[5].firstChild, 2, paras[5].lastChild, 4], node detachedPara1.firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "3456789012", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "3456789012", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Text node "Opqrstuv", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Text node "Opqrstuv", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass6,7: resulting range position for range [paras[5].firstChild, 2, paras[5].lastChild, 4], node detachedPara1.firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Opqrstuv", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Opqrstuv", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Text node "Opqrstuv", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Text node "Opqrstuv", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(1, 1, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected p but got p")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-5", "0-1-1-0-5", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass6,8: resulting DOM for range [paras[5].firstChild, 2, paras[5].lastChild, 4], node document
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "3456789012", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "3456789012", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Document node with 2 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Document node with 2 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(1, 1, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_NODE_TYPE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_NODE_TYPE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass6,8: resulting range position for range [paras[5].firstChild, 2, paras[5].lastChild, 4], node document
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "3456789012", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "3456789012", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Document node with 2 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Document node with 2 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(2, 2, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(4, 4, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #cdata-section but got #cdata-section")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-5-0", "0-1-1-0-5-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass6,9: resulting DOM for range [paras[5].firstChild, 2, paras[5].lastChild, 4], node detachedDiv
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "3456789012", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "3456789012", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Element node <div><p>Opqrstuv</p><p>Wxyzabcd</p></div>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Element node <div><p>Opqrstuv</p><p>Wxyzabcd</p></div>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass6,9: resulting range position for range [paras[5].firstChild, 2, paras[5].lastChild, 4], node detachedDiv
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "3456789012", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "3456789012", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Element node <div><![CDATA[34]]><![CDATA[5678]]>9012</div>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Element node <div><![CDATA[34]]><![CDATA[5678]]>9012</div>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(1, 1, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected p but got p")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-5", "0-1-1-0-5", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass6,10: resulting DOM for range [paras[5].firstChild, 2, paras[5].lastChild, 4], node foreignDoc
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "3456789012", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "3456789012", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Document node with 3 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Document node with 3 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_NODE_TYPE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_NODE_TYPE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass6,10: resulting range position for range [paras[5].firstChild, 2, paras[5].lastChild, 4], node foreignDoc
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "3456789012", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "3456789012", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Document node with 3 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Document node with 3 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(2, 2, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(4, 4, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #cdata-section but got #cdata-section")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-5-0", "0-1-1-0-5-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass6,11: resulting DOM for range [paras[5].firstChild, 2, paras[5].lastChild, 4], node foreignPara2
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "3456789012", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "3456789012", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Element node <p>Mnopqrst</p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Element node <p>Mnopqrst</p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass6,11: resulting range position for range [paras[5].firstChild, 2, paras[5].lastChild, 4], node foreignPara2
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "3456789012", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "3456789012", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Element node <p><![CDATA[34]]><![CDATA[5678]]>9012</p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Element node <p><![CDATA[34]]><![CDATA[5678]]>9012</p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(1, 1, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected p but got p")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-5", "0-1-1-0-5", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass6,12: resulting DOM for range [paras[5].firstChild, 2, paras[5].lastChild, 4], node xmlDoc
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "3456789012", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "3456789012", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Document node with 4 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Document node with 4 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_NODE_TYPE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_NODE_TYPE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass6,12: resulting range position for range [paras[5].firstChild, 2, paras[5].lastChild, 4], node xmlDoc
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "3456789012", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "3456789012", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Document node with 4 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Document node with 4 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(2, 2, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(4, 4, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #cdata-section but got #cdata-section")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-5-0", "0-1-1-0-5-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass6,13: resulting DOM for range [paras[5].firstChild, 2, paras[5].lastChild, 4], node xmlElement
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "3456789012", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "3456789012", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Element node <igiveuponcreativenames>do re mi fa so la ti</igiveuponcr..., null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Element node <igiveuponcreativenames>do re mi fa so la ti</igiveuponcr..., null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass6,13: resulting range position for range [paras[5].firstChild, 2, paras[5].lastChild, 4], node xmlElement
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "3456789012", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "3456789012", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Element node <igiveuponcreativenames><![CDATA[34]]><![CDATA[5678]]>901..., null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Element node <igiveuponcreativenames><![CDATA[34]]><![CDATA[5678]]>901..., null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(1, 1, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected p but got p")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-5", "0-1-1-0-5", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass6,14: resulting DOM for range [paras[5].firstChild, 2, paras[5].lastChild, 4], node detachedTextNode
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "3456789012", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "3456789012", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Text node "Uvwxyzab", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Text node "Uvwxyzab", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass6,14: resulting range position for range [paras[5].firstChild, 2, paras[5].lastChild, 4], node detachedTextNode
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Uvwxyzab", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Uvwxyzab", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Text node "Uvwxyzab", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Text node "Uvwxyzab", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(1, 1, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected p but got p")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-5", "0-1-1-0-5", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass6,15: resulting DOM for range [paras[5].firstChild, 2, paras[5].lastChild, 4], node foreignTextNode
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "3456789012", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "3456789012", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Text node "I admit that I harbor doubts about whether we really need...", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Text node "I admit that I harbor doubts about whether we really need...", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass6,15: resulting range position for range [paras[5].firstChild, 2, paras[5].lastChild, 4], node foreignTextNode
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "I admit that I harbor doubts about whether we really need so many things to test, but it's too late to stop now.", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "I admit that I harbor doubts about whether we really need so many things to test, but it's too late to stop now.", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Text node "I admit that I harbor doubts about whether we really need...", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Text node "I admit that I harbor doubts about whether we really need...", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(1, 1, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected p but got p")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-5", "0-1-1-0-5", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass6,16: resulting DOM for range [paras[5].firstChild, 2, paras[5].lastChild, 4], node processingInstruction
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "3456789012", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "3456789012", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(ProcessingInstruction node with target "somePI" and data "Did you know that \":syn sync fromstart\" is very useful wh...", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(ProcessingInstruction node with target "somePI" and data "Did you know that \":syn sync fromstart\" is very useful wh...", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass6,16: resulting range position for range [paras[5].firstChild, 2, paras[5].lastChild, 4], node processingInstruction
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(ProcessingInstruction node with target "somePI" and data "Did you know that \":syn sync fromstart\" is very useful wh...", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(ProcessingInstruction node with target "somePI" and data "Did you know that \":syn sync fromstart\" is very useful wh...", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(1, 1, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected p but got p")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-5", "0-1-1-0-5", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass6,17: resulting DOM for range [paras[5].firstChild, 2, paras[5].lastChild, 4], node detachedProcessingInstruction
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "3456789012", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "3456789012", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(ProcessingInstruction node with target "whippoorwill" and data "chirp chirp chirp", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(ProcessingInstruction node with target "whippoorwill" and data "chirp chirp chirp", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass6,17: resulting range position for range [paras[5].firstChild, 2, paras[5].lastChild, 4], node detachedProcessingInstruction
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(ProcessingInstruction node with target "whippoorwill" and data "chirp chirp chirp", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(ProcessingInstruction node with target "whippoorwill" and data "chirp chirp chirp", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(1, 1, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected p but got p")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-5", "0-1-1-0-5", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass6,18: resulting DOM for range [paras[5].firstChild, 2, paras[5].lastChild, 4], node comment
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "3456789012", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "3456789012", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Comment node <!--Alphabet soup?-->, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Comment node <!--Alphabet soup?-->, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(1, 1, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass6,18: resulting range position for range [paras[5].firstChild, 2, paras[5].lastChild, 4], node comment
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Comment node <!--Alphabet soup?-->, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Comment node <!--Alphabet soup?-->, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(1, 1, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected p but got p")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-5", "0-1-1-0-5", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass6,19: resulting DOM for range [paras[5].firstChild, 2, paras[5].lastChild, 4], node detachedComment
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "3456789012", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "3456789012", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Comment node <!--Stuvwxyz-->, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Comment node <!--Stuvwxyz-->, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass6,19: resulting range position for range [paras[5].firstChild, 2, paras[5].lastChild, 4], node detachedComment
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Comment node <!--Stuvwxyz-->, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Comment node <!--Stuvwxyz-->, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(1, 1, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected p but got p")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-5", "0-1-1-0-5", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass6,20: resulting DOM for range [paras[5].firstChild, 2, paras[5].lastChild, 4], node docfrag
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "3456789012", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "3456789012", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(DocumentFragment node with 0 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(DocumentFragment node with 0 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_NODE_TYPE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_NODE_TYPE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass6,20: resulting range position for range [paras[5].firstChild, 2, paras[5].lastChild, 4], node docfrag
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "3456789012", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "3456789012", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(DocumentFragment node with 0 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(DocumentFragment node with 0 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(2, 2, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(4, 4, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #cdata-section but got #cdata-section")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-5-0", "0-1-1-0-5-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass6,21: resulting DOM for range [paras[5].firstChild, 2, paras[5].lastChild, 4], node doctype
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "3456789012", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "3456789012", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(1, 1, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_NODE_TYPE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_NODE_TYPE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass6,21: resulting range position for range [paras[5].firstChild, 2, paras[5].lastChild, 4], node doctype
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "3456789012", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "3456789012", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(2, 2, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(4, 4, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #cdata-section but got #cdata-section")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-5-0", "0-1-1-0-5-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass6,22: resulting DOM for range [paras[5].firstChild, 2, paras[5].lastChild, 4], node foreignDoctype
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "3456789012", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "3456789012", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_NODE_TYPE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_NODE_TYPE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass6,22: resulting range position for range [paras[5].firstChild, 2, paras[5].lastChild, 4], node foreignDoctype
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "3456789012", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "3456789012", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(2, 2, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(4, 4, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #cdata-section but got #cdata-section")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-5-0", "0-1-1-0-5-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass7,0: resulting DOM for range [paras[5].firstChild, 1, paras[5].firstChild, 3], node paras[0]
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "23", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "23", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(1, 1, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass7,0: resulting range position for range [paras[5].firstChild, 1, paras[5].firstChild, 3], node paras[0]
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "23", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "23", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Element node <p id="a"><![CDATA[23]]></p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Element node <p id="a"><![CDATA[23]]></p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(1, 1, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected p but got p")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-4", "0-1-1-0-4", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass7,1: resulting DOM for range [paras[5].firstChild, 1, paras[5].firstChild, 3], node paras[0].firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "23", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "23", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(1, 1, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass7,1: resulting range position for range [paras[5].firstChild, 1, paras[5].firstChild, 3], node paras[0].firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(1, 1, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #cdata-section but got #cdata-section")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-5-0", "0-1-1-0-5-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass7,2: resulting DOM for range [paras[5].firstChild, 1, paras[5].firstChild, 3], node paras[1].firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "23", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "23", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Text node "Ijklmnop ", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Text node "Ijklmnop ", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(1, 1, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass7,2: resulting range position for range [paras[5].firstChild, 1, paras[5].firstChild, 3], node paras[1].firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Ijklmnop ", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Ijklmnop ", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Text node "Ijklmnop ", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Text node "Ijklmnop ", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(1, 1, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #cdata-section but got #cdata-section")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-5-0", "0-1-1-0-5-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass7,3: resulting DOM for range [paras[5].firstChild, 1, paras[5].firstChild, 3], node paras[5].firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "23", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "23", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Node object of unknown type, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Node object of unknown type, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(1, 1, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass7,3: resulting range position for range [paras[5].firstChild, 1, paras[5].firstChild, 3], node paras[5].firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Node object of unknown type, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Node object of unknown type, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(1, 1, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(1, 1, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #cdata-section but got #cdata-section")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-5-0", "0-1-1-0-5-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass7,4: resulting DOM for range [paras[5].firstChild, 1, paras[5].firstChild, 3], node foreignPara1
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "23", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "23", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Element node <p>Efghijkl</p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Element node <p>Efghijkl</p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass7,4: resulting range position for range [paras[5].firstChild, 1, paras[5].firstChild, 3], node foreignPara1
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "23", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "23", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Element node <p><![CDATA[23]]></p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Element node <p><![CDATA[23]]></p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(1, 1, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected p but got p")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-5", "0-1-1-0-5", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass7,5: resulting DOM for range [paras[5].firstChild, 1, paras[5].firstChild, 3], node foreignPara1.firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "23", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "23", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Text node "Efghijkl", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Text node "Efghijkl", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass7,5: resulting range position for range [paras[5].firstChild, 1, paras[5].firstChild, 3], node foreignPara1.firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Efghijkl", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Efghijkl", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Text node "Efghijkl", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Text node "Efghijkl", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(1, 1, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #cdata-section but got #cdata-section")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-5-0", "0-1-1-0-5-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass7,6: resulting DOM for range [paras[5].firstChild, 1, paras[5].firstChild, 3], node detachedPara1
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "23", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "23", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Element node <p>Opqrstuv</p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Element node <p>Opqrstuv</p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass7,6: resulting range position for range [paras[5].firstChild, 1, paras[5].firstChild, 3], node detachedPara1
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "23", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "23", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Element node <p><![CDATA[23]]></p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Element node <p><![CDATA[23]]></p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(1, 1, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected p but got p")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-5", "0-1-1-0-5", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass7,7: resulting DOM for range [paras[5].firstChild, 1, paras[5].firstChild, 3], node detachedPara1.firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "23", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "23", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Text node "Opqrstuv", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Text node "Opqrstuv", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass7,7: resulting range position for range [paras[5].firstChild, 1, paras[5].firstChild, 3], node detachedPara1.firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Opqrstuv", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Opqrstuv", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Text node "Opqrstuv", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Text node "Opqrstuv", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(1, 1, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #cdata-section but got #cdata-section")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-5-0", "0-1-1-0-5-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass7,8: resulting DOM for range [paras[5].firstChild, 1, paras[5].firstChild, 3], node document
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "23", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "23", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Document node with 2 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Document node with 2 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(1, 1, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_NODE_TYPE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_NODE_TYPE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass7,8: resulting range position for range [paras[5].firstChild, 1, paras[5].firstChild, 3], node document
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "23", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "23", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Document node with 2 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Document node with 2 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(1, 1, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(3, 3, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #cdata-section but got #cdata-section")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-5-0", "0-1-1-0-5-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass7,9: resulting DOM for range [paras[5].firstChild, 1, paras[5].firstChild, 3], node detachedDiv
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "23", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "23", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Element node <div><p>Opqrstuv</p><p>Wxyzabcd</p></div>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Element node <div><p>Opqrstuv</p><p>Wxyzabcd</p></div>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass7,9: resulting range position for range [paras[5].firstChild, 1, paras[5].firstChild, 3], node detachedDiv
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "23", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "23", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Element node <div><![CDATA[23]]></div>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Element node <div><![CDATA[23]]></div>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(1, 1, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected p but got p")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-5", "0-1-1-0-5", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass7,10: resulting DOM for range [paras[5].firstChild, 1, paras[5].firstChild, 3], node foreignDoc
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "23", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "23", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Document node with 3 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Document node with 3 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_NODE_TYPE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_NODE_TYPE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass7,10: resulting range position for range [paras[5].firstChild, 1, paras[5].firstChild, 3], node foreignDoc
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "23", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "23", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Document node with 3 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Document node with 3 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(1, 1, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(3, 3, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #cdata-section but got #cdata-section")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-5-0", "0-1-1-0-5-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass7,11: resulting DOM for range [paras[5].firstChild, 1, paras[5].firstChild, 3], node foreignPara2
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "23", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "23", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Element node <p>Mnopqrst</p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Element node <p>Mnopqrst</p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass7,11: resulting range position for range [paras[5].firstChild, 1, paras[5].firstChild, 3], node foreignPara2
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "23", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "23", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Element node <p><![CDATA[23]]></p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Element node <p><![CDATA[23]]></p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(1, 1, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected p but got p")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-5", "0-1-1-0-5", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass7,12: resulting DOM for range [paras[5].firstChild, 1, paras[5].firstChild, 3], node xmlDoc
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "23", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "23", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Document node with 4 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Document node with 4 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_NODE_TYPE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_NODE_TYPE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass7,12: resulting range position for range [paras[5].firstChild, 1, paras[5].firstChild, 3], node xmlDoc
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "23", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "23", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Document node with 4 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Document node with 4 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(1, 1, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(3, 3, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #cdata-section but got #cdata-section")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-5-0", "0-1-1-0-5-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass7,13: resulting DOM for range [paras[5].firstChild, 1, paras[5].firstChild, 3], node xmlElement
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "23", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "23", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Element node <igiveuponcreativenames>do re mi fa so la ti</igiveuponcr..., null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Element node <igiveuponcreativenames>do re mi fa so la ti</igiveuponcr..., null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass7,13: resulting range position for range [paras[5].firstChild, 1, paras[5].firstChild, 3], node xmlElement
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "23", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "23", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Element node <igiveuponcreativenames><![CDATA[23]]></igiveuponcreative..., null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Element node <igiveuponcreativenames><![CDATA[23]]></igiveuponcreative..., null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(1, 1, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected p but got p")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-5", "0-1-1-0-5", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass7,14: resulting DOM for range [paras[5].firstChild, 1, paras[5].firstChild, 3], node detachedTextNode
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "23", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "23", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Text node "Uvwxyzab", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Text node "Uvwxyzab", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass7,14: resulting range position for range [paras[5].firstChild, 1, paras[5].firstChild, 3], node detachedTextNode
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Uvwxyzab", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Uvwxyzab", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Text node "Uvwxyzab", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Text node "Uvwxyzab", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(1, 1, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #cdata-section but got #cdata-section")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-5-0", "0-1-1-0-5-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass7,15: resulting DOM for range [paras[5].firstChild, 1, paras[5].firstChild, 3], node foreignTextNode
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "23", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "23", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Text node "I admit that I harbor doubts about whether we really need...", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Text node "I admit that I harbor doubts about whether we really need...", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass7,15: resulting range position for range [paras[5].firstChild, 1, paras[5].firstChild, 3], node foreignTextNode
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "I admit that I harbor doubts about whether we really need so many things to test, but it's too late to stop now.", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "I admit that I harbor doubts about whether we really need so many things to test, but it's too late to stop now.", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Text node "I admit that I harbor doubts about whether we really need...", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Text node "I admit that I harbor doubts about whether we really need...", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(1, 1, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #cdata-section but got #cdata-section")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-5-0", "0-1-1-0-5-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass7,16: resulting DOM for range [paras[5].firstChild, 1, paras[5].firstChild, 3], node processingInstruction
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "23", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "23", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(ProcessingInstruction node with target "somePI" and data "Did you know that \":syn sync fromstart\" is very useful wh...", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(ProcessingInstruction node with target "somePI" and data "Did you know that \":syn sync fromstart\" is very useful wh...", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass7,16: resulting range position for range [paras[5].firstChild, 1, paras[5].firstChild, 3], node processingInstruction
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(ProcessingInstruction node with target "somePI" and data "Did you know that \":syn sync fromstart\" is very useful wh...", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(ProcessingInstruction node with target "somePI" and data "Did you know that \":syn sync fromstart\" is very useful wh...", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(1, 1, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #cdata-section but got #cdata-section")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-5-0", "0-1-1-0-5-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass7,17: resulting DOM for range [paras[5].firstChild, 1, paras[5].firstChild, 3], node detachedProcessingInstruction
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "23", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "23", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(ProcessingInstruction node with target "whippoorwill" and data "chirp chirp chirp", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(ProcessingInstruction node with target "whippoorwill" and data "chirp chirp chirp", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass7,17: resulting range position for range [paras[5].firstChild, 1, paras[5].firstChild, 3], node detachedProcessingInstruction
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(ProcessingInstruction node with target "whippoorwill" and data "chirp chirp chirp", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(ProcessingInstruction node with target "whippoorwill" and data "chirp chirp chirp", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(1, 1, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #cdata-section but got #cdata-section")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-5-0", "0-1-1-0-5-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass7,18: resulting DOM for range [paras[5].firstChild, 1, paras[5].firstChild, 3], node comment
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "23", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "23", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Comment node <!--Alphabet soup?-->, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Comment node <!--Alphabet soup?-->, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(1, 1, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass7,18: resulting range position for range [paras[5].firstChild, 1, paras[5].firstChild, 3], node comment
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Comment node <!--Alphabet soup?-->, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Comment node <!--Alphabet soup?-->, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(1, 1, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #cdata-section but got #cdata-section")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-5-0", "0-1-1-0-5-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass7,19: resulting DOM for range [paras[5].firstChild, 1, paras[5].firstChild, 3], node detachedComment
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "23", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "23", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Comment node <!--Stuvwxyz-->, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Comment node <!--Stuvwxyz-->, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass7,19: resulting range position for range [paras[5].firstChild, 1, paras[5].firstChild, 3], node detachedComment
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Comment node <!--Stuvwxyz-->, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Comment node <!--Stuvwxyz-->, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(1, 1, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #cdata-section but got #cdata-section")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-5-0", "0-1-1-0-5-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass7,20: resulting DOM for range [paras[5].firstChild, 1, paras[5].firstChild, 3], node docfrag
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "23", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "23", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(DocumentFragment node with 0 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(DocumentFragment node with 0 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_NODE_TYPE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_NODE_TYPE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass7,20: resulting range position for range [paras[5].firstChild, 1, paras[5].firstChild, 3], node docfrag
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "23", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "23", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(DocumentFragment node with 0 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(DocumentFragment node with 0 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(1, 1, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(3, 3, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #cdata-section but got #cdata-section")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-5-0", "0-1-1-0-5-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass7,21: resulting DOM for range [paras[5].firstChild, 1, paras[5].firstChild, 3], node doctype
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "23", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "23", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(1, 1, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_NODE_TYPE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_NODE_TYPE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass7,21: resulting range position for range [paras[5].firstChild, 1, paras[5].firstChild, 3], node doctype
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "23", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "23", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(1, 1, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(3, 3, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #cdata-section but got #cdata-section")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-5-0", "0-1-1-0-5-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass7,22: resulting DOM for range [paras[5].firstChild, 1, paras[5].firstChild, 3], node foreignDoctype
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "23", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "23", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_NODE_TYPE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_NODE_TYPE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass7,22: resulting range position for range [paras[5].firstChild, 1, paras[5].firstChild, 3], node foreignDoctype
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "23", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "23", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(1, 1, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(3, 3, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #cdata-section but got #cdata-section")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-5-0", "0-1-1-0-5-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass8,0: resulting DOM for range [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0], node paras[0]
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass8,0: resulting range position for range [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0], node paras[0]
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Element node <p id="a"></p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Element node <p id="a"></p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(1, 1, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected p but got p")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-0", "0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass8,1: resulting DOM for range [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0], node paras[0].firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass8,1: resulting range position for range [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0], node paras[0].firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-0-0", "0-0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass8,2: resulting DOM for range [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0], node paras[1].firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Text node "Ijklmnop ", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Text node "Ijklmnop ", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass8,2: resulting range position for range [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0], node paras[1].firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Ijklmnop ", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Ijklmnop ", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Text node "Ijklmnop ", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Text node "Ijklmnop ", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-0-0", "0-0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass8,3: resulting DOM for range [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0], node paras[5].firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Node object of unknown type, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Node object of unknown type, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass8,3: resulting range position for range [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0], node paras[5].firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "1234", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "1234", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Node object of unknown type, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Node object of unknown type, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-0-0", "0-0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass8,4: resulting DOM for range [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0], node foreignPara1
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Element node <p>Efghijkl</p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Element node <p>Efghijkl</p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass8,4: resulting range position for range [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0], node foreignPara1
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Element node <p></p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Element node <p></p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(1, 1, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected p but got p")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-0", "0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass8,5: resulting DOM for range [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0], node foreignPara1.firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Text node "Efghijkl", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Text node "Efghijkl", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass8,5: resulting range position for range [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0], node foreignPara1.firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Efghijkl", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Efghijkl", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Text node "Efghijkl", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Text node "Efghijkl", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-0-0", "0-0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass8,6: resulting DOM for range [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0], node detachedPara1
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Element node <p>Opqrstuv</p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Element node <p>Opqrstuv</p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(1, 1, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass8,6: resulting range position for range [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0], node detachedPara1
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Element node <p></p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Element node <p></p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(0, 0, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected p but got p")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-0", "0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass8,7: resulting DOM for range [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0], node detachedPara1.firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Text node "Opqrstuv", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Text node "Opqrstuv", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(1, 1, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass8,7: resulting range position for range [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0], node detachedPara1.firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Text node "Opqrstuv", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Text node "Opqrstuv", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(0, 0, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-0-0", "0-0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass8,8: resulting DOM for range [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0], node document
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Document node with 2 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Document node with 2 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_NODE_TYPE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_NODE_TYPE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass8,8: resulting range position for range [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0], node document
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Document node with 2 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Document node with 2 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(0, 0, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-0-0", "0-0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass8,9: resulting DOM for range [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0], node detachedDiv
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Element node <div><p>Opqrstuv</p><p>Wxyzabcd</p></div>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Element node <div><p>Opqrstuv</p><p>Wxyzabcd</p></div>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(1, 1, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass8,9: resulting range position for range [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0], node detachedDiv
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Element node <div></div>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Element node <div></div>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(0, 0, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected div but got div")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0", "0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass8,10: resulting DOM for range [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0], node foreignDoc
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Document node with 3 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Document node with 3 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_NODE_TYPE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_NODE_TYPE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass8,10: resulting range position for range [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0], node foreignDoc
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Document node with 3 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Document node with 3 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(0, 0, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-0-0", "0-0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass8,11: resulting DOM for range [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0], node foreignPara2
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Element node <p>Mnopqrst</p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Element node <p>Mnopqrst</p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass8,11: resulting range position for range [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0], node foreignPara2
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Element node <p></p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Element node <p></p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(1, 1, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected p but got p")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-0", "0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass8,12: resulting DOM for range [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0], node xmlDoc
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Document node with 4 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Document node with 4 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_NODE_TYPE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_NODE_TYPE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass8,12: resulting range position for range [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0], node xmlDoc
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Document node with 4 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Document node with 4 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(0, 0, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-0-0", "0-0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass8,13: resulting DOM for range [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0], node xmlElement
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Element node <igiveuponcreativenames>do re mi fa so la ti</igiveuponcr..., null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Element node <igiveuponcreativenames>do re mi fa so la ti</igiveuponcr..., null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass8,13: resulting range position for range [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0], node xmlElement
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Element node <igiveuponcreativenames></igiveuponcreativenames>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Element node <igiveuponcreativenames></igiveuponcreativenames>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(1, 1, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected p but got p")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-0", "0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass8,14: resulting DOM for range [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0], node detachedTextNode
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Text node "Uvwxyzab", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Text node "Uvwxyzab", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass8,14: resulting range position for range [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0], node detachedTextNode
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Uvwxyzab", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Uvwxyzab", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Text node "Uvwxyzab", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Text node "Uvwxyzab", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-0-0", "0-0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass8,15: resulting DOM for range [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0], node foreignTextNode
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Text node "I admit that I harbor doubts about whether we really need...", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Text node "I admit that I harbor doubts about whether we really need...", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass8,15: resulting range position for range [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0], node foreignTextNode
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "I admit that I harbor doubts about whether we really need so many things to test, but it's too late to stop now.", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "I admit that I harbor doubts about whether we really need so many things to test, but it's too late to stop now.", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Text node "I admit that I harbor doubts about whether we really need...", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Text node "I admit that I harbor doubts about whether we really need...", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-0-0", "0-0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass8,16: resulting DOM for range [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0], node processingInstruction
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(ProcessingInstruction node with target "somePI" and data "Did you know that \":syn sync fromstart\" is very useful wh...", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(ProcessingInstruction node with target "somePI" and data "Did you know that \":syn sync fromstart\" is very useful wh...", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass8,16: resulting range position for range [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0], node processingInstruction
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(ProcessingInstruction node with target "somePI" and data "Did you know that \":syn sync fromstart\" is very useful wh...", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(ProcessingInstruction node with target "somePI" and data "Did you know that \":syn sync fromstart\" is very useful wh...", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-0-0", "0-0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass8,17: resulting DOM for range [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0], node detachedProcessingInstruction
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(ProcessingInstruction node with target "whippoorwill" and data "chirp chirp chirp", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(ProcessingInstruction node with target "whippoorwill" and data "chirp chirp chirp", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass8,17: resulting range position for range [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0], node detachedProcessingInstruction
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(ProcessingInstruction node with target "whippoorwill" and data "chirp chirp chirp", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(ProcessingInstruction node with target "whippoorwill" and data "chirp chirp chirp", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-0-0", "0-0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass8,18: resulting DOM for range [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0], node comment
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Comment node <!--Alphabet soup?-->, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Comment node <!--Alphabet soup?-->, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass8,18: resulting range position for range [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0], node comment
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Comment node <!--Alphabet soup?-->, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Comment node <!--Alphabet soup?-->, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-0-0", "0-0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass8,19: resulting DOM for range [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0], node detachedComment
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Comment node <!--Stuvwxyz-->, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Comment node <!--Stuvwxyz-->, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass8,19: resulting range position for range [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0], node detachedComment
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Comment node <!--Stuvwxyz-->, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Comment node <!--Stuvwxyz-->, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-0-0", "0-0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass8,20: resulting DOM for range [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0], node docfrag
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(DocumentFragment node with 0 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(DocumentFragment node with 0 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_NODE_TYPE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_NODE_TYPE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass8,20: resulting range position for range [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0], node docfrag
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(DocumentFragment node with 0 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(DocumentFragment node with 0 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(0, 0, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-0-0", "0-0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass8,21: resulting DOM for range [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0], node doctype
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_NODE_TYPE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_NODE_TYPE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass8,21: resulting range position for range [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0], node doctype
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(0, 0, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-0-0", "0-0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass8,22: resulting DOM for range [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0], node foreignDoctype
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_NODE_TYPE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_NODE_TYPE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass8,22: resulting range position for range [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0], node foreignDoctype
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(0, 0, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-0-0", "0-0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass9,0: resulting DOM for range [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8], node paras[0]
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "qrstuv", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "qrstuv", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass9,0: resulting range position for range [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8], node paras[0]
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "qrstuv", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "qrstuv", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Element node <p id="a">qrstuv</p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Element node <p id="a">qrstuv</p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(1, 1, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected p but got p")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-0", "0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass9,1: resulting DOM for range [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8], node paras[0].firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "qrstuv", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "qrstuv", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass9,1: resulting range position for range [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8], node paras[0].firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(2, 2, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-0-0", "0-0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass9,2: resulting DOM for range [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8], node paras[1].firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "qrstuv", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "qrstuv", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Text node "Ijklmnop ", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Text node "Ijklmnop ", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass9,2: resulting range position for range [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8], node paras[1].firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Ijklmnop ", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Ijklmnop ", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Text node "Ijklmnop ", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Text node "Ijklmnop ", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(2, 2, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-0-0", "0-0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass9,3: resulting DOM for range [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8], node paras[5].firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "qrstuv", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "qrstuv", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Node object of unknown type, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Node object of unknown type, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass9,3: resulting range position for range [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8], node paras[5].firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "1234", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "1234", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Node object of unknown type, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Node object of unknown type, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(2, 2, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-0-0", "0-0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass9,4: resulting DOM for range [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8], node foreignPara1
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "qrstuv", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "qrstuv", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Element node <p>Efghijkl</p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Element node <p>Efghijkl</p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass9,4: resulting range position for range [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8], node foreignPara1
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "qrstuv", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "qrstuv", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Element node <p>qrstuv</p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Element node <p>qrstuv</p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(1, 1, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected p but got p")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-0", "0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass9,5: resulting DOM for range [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8], node foreignPara1.firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "qrstuv", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "qrstuv", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Text node "Efghijkl", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Text node "Efghijkl", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass9,5: resulting range position for range [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8], node foreignPara1.firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Efghijkl", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Efghijkl", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Text node "Efghijkl", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Text node "Efghijkl", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(2, 2, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-0-0", "0-0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass9,6: resulting DOM for range [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8], node detachedPara1
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "qrstuv", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "qrstuv", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Element node <p>Opqrstuv</p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Element node <p>Opqrstuv</p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(1, 1, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass9,6: resulting range position for range [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8], node detachedPara1
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Element node <p></p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Element node <p></p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(0, 0, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected p but got p")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-0", "0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass9,7: resulting DOM for range [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8], node detachedPara1.firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "qrstuv", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "qrstuv", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Text node "Opqrstuv", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Text node "Opqrstuv", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(1, 1, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass9,7: resulting range position for range [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8], node detachedPara1.firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Text node "Op", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Text node "Op", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(2, 2, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-0-0", "0-0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass9,8: resulting DOM for range [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8], node document
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "qrstuv", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "qrstuv", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Document node with 2 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Document node with 2 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_NODE_TYPE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_NODE_TYPE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass9,8: resulting range position for range [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8], node document
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "qrstuv", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "qrstuv", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Document node with 2 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Document node with 2 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(2, 2, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(8, 8, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-0-0", "0-0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass9,9: resulting DOM for range [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8], node detachedDiv
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "qrstuv", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "qrstuv", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Element node <div><p>Opqrstuv</p><p>Wxyzabcd</p></div>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Element node <div><p>Opqrstuv</p><p>Wxyzabcd</p></div>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(1, 1, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass9,9: resulting range position for range [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8], node detachedDiv
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Element node <div></div>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Element node <div></div>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(0, 0, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected div but got div")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0", "0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass9,10: resulting DOM for range [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8], node foreignDoc
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "qrstuv", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "qrstuv", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Document node with 3 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Document node with 3 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_NODE_TYPE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_NODE_TYPE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass9,10: resulting range position for range [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8], node foreignDoc
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "qrstuv", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "qrstuv", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Document node with 3 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Document node with 3 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(2, 2, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(8, 8, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-0-0", "0-0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass9,11: resulting DOM for range [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8], node foreignPara2
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "qrstuv", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "qrstuv", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Element node <p>Mnopqrst</p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Element node <p>Mnopqrst</p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass9,11: resulting range position for range [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8], node foreignPara2
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "qrstuv", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "qrstuv", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Element node <p>qrstuv</p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Element node <p>qrstuv</p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(1, 1, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected p but got p")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-0", "0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass9,12: resulting DOM for range [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8], node xmlDoc
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "qrstuv", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "qrstuv", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Document node with 4 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Document node with 4 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_NODE_TYPE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_NODE_TYPE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass9,12: resulting range position for range [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8], node xmlDoc
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "qrstuv", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "qrstuv", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Document node with 4 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Document node with 4 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(2, 2, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(8, 8, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-0-0", "0-0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass9,13: resulting DOM for range [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8], node xmlElement
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "qrstuv", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "qrstuv", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Element node <igiveuponcreativenames>do re mi fa so la ti</igiveuponcr..., null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Element node <igiveuponcreativenames>do re mi fa so la ti</igiveuponcr..., null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass9,13: resulting range position for range [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8], node xmlElement
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "qrstuv", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "qrstuv", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Element node <igiveuponcreativenames>qrstuv</igiveuponcreativenames>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Element node <igiveuponcreativenames>qrstuv</igiveuponcreativenames>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(1, 1, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected p but got p")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-0", "0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass9,14: resulting DOM for range [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8], node detachedTextNode
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "qrstuv", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "qrstuv", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Text node "Uvwxyzab", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Text node "Uvwxyzab", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass9,14: resulting range position for range [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8], node detachedTextNode
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Uvwxyzab", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Uvwxyzab", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Text node "Uvwxyzab", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Text node "Uvwxyzab", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(2, 2, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-0-0", "0-0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass9,15: resulting DOM for range [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8], node foreignTextNode
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "qrstuv", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "qrstuv", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Text node "I admit that I harbor doubts about whether we really need...", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Text node "I admit that I harbor doubts about whether we really need...", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass9,15: resulting range position for range [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8], node foreignTextNode
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "I admit that I harbor doubts about whether we really need so many things to test, but it's too late to stop now.", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "I admit that I harbor doubts about whether we really need so many things to test, but it's too late to stop now.", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Text node "I admit that I harbor doubts about whether we really need...", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Text node "I admit that I harbor doubts about whether we really need...", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(2, 2, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-0-0", "0-0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass9,16: resulting DOM for range [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8], node processingInstruction
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "qrstuv", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "qrstuv", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(ProcessingInstruction node with target "somePI" and data "Did you know that \":syn sync fromstart\" is very useful wh...", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(ProcessingInstruction node with target "somePI" and data "Did you know that \":syn sync fromstart\" is very useful wh...", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass9,16: resulting range position for range [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8], node processingInstruction
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(ProcessingInstruction node with target "somePI" and data "Did you know that \":syn sync fromstart\" is very useful wh...", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(ProcessingInstruction node with target "somePI" and data "Did you know that \":syn sync fromstart\" is very useful wh...", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(2, 2, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-0-0", "0-0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass9,17: resulting DOM for range [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8], node detachedProcessingInstruction
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "qrstuv", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "qrstuv", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(ProcessingInstruction node with target "whippoorwill" and data "chirp chirp chirp", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(ProcessingInstruction node with target "whippoorwill" and data "chirp chirp chirp", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass9,17: resulting range position for range [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8], node detachedProcessingInstruction
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(ProcessingInstruction node with target "whippoorwill" and data "chirp chirp chirp", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(ProcessingInstruction node with target "whippoorwill" and data "chirp chirp chirp", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(2, 2, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-0-0", "0-0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass9,18: resulting DOM for range [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8], node comment
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "qrstuv", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "qrstuv", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Comment node <!--Alphabet soup?-->, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Comment node <!--Alphabet soup?-->, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass9,18: resulting range position for range [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8], node comment
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Comment node <!--Alphabet soup?-->, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Comment node <!--Alphabet soup?-->, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(2, 2, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-0-0", "0-0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass9,19: resulting DOM for range [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8], node detachedComment
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "qrstuv", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "qrstuv", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Comment node <!--Stuvwxyz-->, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Comment node <!--Stuvwxyz-->, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass9,19: resulting range position for range [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8], node detachedComment
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Comment node <!--Stuvwxyz-->, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Comment node <!--Stuvwxyz-->, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(2, 2, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-0-0", "0-0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass9,20: resulting DOM for range [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8], node docfrag
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "qrstuv", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "qrstuv", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(DocumentFragment node with 0 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(DocumentFragment node with 0 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_NODE_TYPE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_NODE_TYPE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass9,20: resulting range position for range [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8], node docfrag
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "qrstuv", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "qrstuv", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(DocumentFragment node with 0 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(DocumentFragment node with 0 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(2, 2, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(8, 8, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-0-0", "0-0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass9,21: resulting DOM for range [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8], node doctype
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "qrstuv", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "qrstuv", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_NODE_TYPE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_NODE_TYPE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass9,21: resulting range position for range [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8], node doctype
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "qrstuv", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "qrstuv", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(2, 2, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(8, 8, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-0-0", "0-0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass9,22: resulting DOM for range [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8], node foreignDoctype
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "qrstuv", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "qrstuv", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_NODE_TYPE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_NODE_TYPE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass9,22: resulting range position for range [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8], node foreignDoctype
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "qrstuv", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "qrstuv", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(2, 2, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(8, 8, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-0-0", "0-0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass10,0: resulting DOM for range [foreignPara1.firstChild, 0, foreignPara1.firstChild, 0], node paras[0]
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass10,0: resulting range position for range [foreignPara1.firstChild, 0, foreignPara1.firstChild, 0], node paras[0]
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Element node <p id="a"></p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Element node <p id="a"></p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(1, 1, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected p but got p")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0", "0-1-1-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass10,1: resulting DOM for range [foreignPara1.firstChild, 0, foreignPara1.firstChild, 0], node paras[0].firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass10,1: resulting range position for range [foreignPara1.firstChild, 0, foreignPara1.firstChild, 0], node paras[0].firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-0", "0-1-1-0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass10,2: resulting DOM for range [foreignPara1.firstChild, 0, foreignPara1.firstChild, 0], node paras[1].firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Text node "Ijklmnop ", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Text node "Ijklmnop ", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass10,2: resulting range position for range [foreignPara1.firstChild, 0, foreignPara1.firstChild, 0], node paras[1].firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Ijklmnop ", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Ijklmnop ", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Text node "Ijklmnop ", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Text node "Ijklmnop ", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-0", "0-1-1-0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass10,3: resulting DOM for range [foreignPara1.firstChild, 0, foreignPara1.firstChild, 0], node paras[5].firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Node object of unknown type, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Node object of unknown type, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass10,3: resulting range position for range [foreignPara1.firstChild, 0, foreignPara1.firstChild, 0], node paras[5].firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "1234", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "1234", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Node object of unknown type, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Node object of unknown type, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-0", "0-1-1-0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass10,4: resulting DOM for range [foreignPara1.firstChild, 0, foreignPara1.firstChild, 0], node foreignPara1
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Element node <p>Efghijkl</p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Element node <p>Efghijkl</p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(1, 1, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass10,4: resulting range position for range [foreignPara1.firstChild, 0, foreignPara1.firstChild, 0], node foreignPara1
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Element node <p></p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Element node <p></p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(0, 0, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected p but got p")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0", "0-1-1-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass10,5: resulting DOM for range [foreignPara1.firstChild, 0, foreignPara1.firstChild, 0], node foreignPara1.firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Text node "Efghijkl", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Text node "Efghijkl", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(1, 1, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass10,5: resulting range position for range [foreignPara1.firstChild, 0, foreignPara1.firstChild, 0], node foreignPara1.firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Text node "Efghijkl", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Text node "Efghijkl", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(0, 0, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-0", "0-1-1-0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass10,6: resulting DOM for range [foreignPara1.firstChild, 0, foreignPara1.firstChild, 0], node detachedPara1
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Element node <p>Opqrstuv</p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Element node <p>Opqrstuv</p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass10,6: resulting range position for range [foreignPara1.firstChild, 0, foreignPara1.firstChild, 0], node detachedPara1
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Element node <p></p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Element node <p></p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(1, 1, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected p but got p")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0", "0-1-1-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass10,7: resulting DOM for range [foreignPara1.firstChild, 0, foreignPara1.firstChild, 0], node detachedPara1.firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Text node "Opqrstuv", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Text node "Opqrstuv", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass10,7: resulting range position for range [foreignPara1.firstChild, 0, foreignPara1.firstChild, 0], node detachedPara1.firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Opqrstuv", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Opqrstuv", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Text node "Opqrstuv", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Text node "Opqrstuv", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-0", "0-1-1-0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass10,8: resulting DOM for range [foreignPara1.firstChild, 0, foreignPara1.firstChild, 0], node document
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Document node with 2 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Document node with 2 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_NODE_TYPE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_NODE_TYPE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass10,8: resulting range position for range [foreignPara1.firstChild, 0, foreignPara1.firstChild, 0], node document
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Document node with 2 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Document node with 2 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(0, 0, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-0", "0-1-1-0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass10,9: resulting DOM for range [foreignPara1.firstChild, 0, foreignPara1.firstChild, 0], node detachedDiv
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Element node <div><p>Opqrstuv</p><p>Wxyzabcd</p></div>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Element node <div><p>Opqrstuv</p><p>Wxyzabcd</p></div>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass10,9: resulting range position for range [foreignPara1.firstChild, 0, foreignPara1.firstChild, 0], node detachedDiv
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Element node <div></div>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Element node <div></div>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(1, 1, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected p but got p")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0", "0-1-1-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass10,10: resulting DOM for range [foreignPara1.firstChild, 0, foreignPara1.firstChild, 0], node foreignDoc
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Document node with 3 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Document node with 3 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(1, 1, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_NODE_TYPE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_NODE_TYPE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass10,10: resulting range position for range [foreignPara1.firstChild, 0, foreignPara1.firstChild, 0], node foreignDoc
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Document node with 3 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Document node with 3 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(0, 0, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-0", "0-1-1-0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass10,11: resulting DOM for range [foreignPara1.firstChild, 0, foreignPara1.firstChild, 0], node foreignPara2
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Element node <p>Mnopqrst</p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Element node <p>Mnopqrst</p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(1, 1, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass10,11: resulting range position for range [foreignPara1.firstChild, 0, foreignPara1.firstChild, 0], node foreignPara2
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Element node <p></p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Element node <p></p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(1, 1, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected p but got p")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0", "0-1-1-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass10,12: resulting DOM for range [foreignPara1.firstChild, 0, foreignPara1.firstChild, 0], node xmlDoc
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Document node with 4 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Document node with 4 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_NODE_TYPE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_NODE_TYPE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass10,12: resulting range position for range [foreignPara1.firstChild, 0, foreignPara1.firstChild, 0], node xmlDoc
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Document node with 4 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Document node with 4 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(0, 0, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-0", "0-1-1-0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass10,13: resulting DOM for range [foreignPara1.firstChild, 0, foreignPara1.firstChild, 0], node xmlElement
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Element node <igiveuponcreativenames>do re mi fa so la ti</igiveuponcr..., null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Element node <igiveuponcreativenames>do re mi fa so la ti</igiveuponcr..., null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass10,13: resulting range position for range [foreignPara1.firstChild, 0, foreignPara1.firstChild, 0], node xmlElement
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Element node <igiveuponcreativenames></igiveuponcreativenames>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Element node <igiveuponcreativenames></igiveuponcreativenames>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(1, 1, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected p but got p")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0", "0-1-1-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass10,14: resulting DOM for range [foreignPara1.firstChild, 0, foreignPara1.firstChild, 0], node detachedTextNode
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Text node "Uvwxyzab", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Text node "Uvwxyzab", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass10,14: resulting range position for range [foreignPara1.firstChild, 0, foreignPara1.firstChild, 0], node detachedTextNode
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Uvwxyzab", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Uvwxyzab", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Text node "Uvwxyzab", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Text node "Uvwxyzab", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-0", "0-1-1-0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass10,15: resulting DOM for range [foreignPara1.firstChild, 0, foreignPara1.firstChild, 0], node foreignTextNode
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Text node "I admit that I harbor doubts about whether we really need...", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Text node "I admit that I harbor doubts about whether we really need...", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(1, 1, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass10,15: resulting range position for range [foreignPara1.firstChild, 0, foreignPara1.firstChild, 0], node foreignTextNode
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "I admit that I harbor doubts about whether we really need so many things to test, but it's too late to stop now.", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "I admit that I harbor doubts about whether we really need so many things to test, but it's too late to stop now.", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Text node "I admit that I harbor doubts about whether we really need...", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Text node "I admit that I harbor doubts about whether we really need...", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-0", "0-1-1-0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass10,16: resulting DOM for range [foreignPara1.firstChild, 0, foreignPara1.firstChild, 0], node processingInstruction
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(ProcessingInstruction node with target "somePI" and data "Did you know that \":syn sync fromstart\" is very useful wh...", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(ProcessingInstruction node with target "somePI" and data "Did you know that \":syn sync fromstart\" is very useful wh...", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass10,16: resulting range position for range [foreignPara1.firstChild, 0, foreignPara1.firstChild, 0], node processingInstruction
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(ProcessingInstruction node with target "somePI" and data "Did you know that \":syn sync fromstart\" is very useful wh...", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(ProcessingInstruction node with target "somePI" and data "Did you know that \":syn sync fromstart\" is very useful wh...", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-0", "0-1-1-0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass10,17: resulting DOM for range [foreignPara1.firstChild, 0, foreignPara1.firstChild, 0], node detachedProcessingInstruction
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(ProcessingInstruction node with target "whippoorwill" and data "chirp chirp chirp", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(ProcessingInstruction node with target "whippoorwill" and data "chirp chirp chirp", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass10,17: resulting range position for range [foreignPara1.firstChild, 0, foreignPara1.firstChild, 0], node detachedProcessingInstruction
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(ProcessingInstruction node with target "whippoorwill" and data "chirp chirp chirp", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(ProcessingInstruction node with target "whippoorwill" and data "chirp chirp chirp", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-0", "0-1-1-0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass10,18: resulting DOM for range [foreignPara1.firstChild, 0, foreignPara1.firstChild, 0], node comment
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Comment node <!--Alphabet soup?-->, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Comment node <!--Alphabet soup?-->, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass10,18: resulting range position for range [foreignPara1.firstChild, 0, foreignPara1.firstChild, 0], node comment
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Comment node <!--Alphabet soup?-->, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Comment node <!--Alphabet soup?-->, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-0", "0-1-1-0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass10,19: resulting DOM for range [foreignPara1.firstChild, 0, foreignPara1.firstChild, 0], node detachedComment
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Comment node <!--Stuvwxyz-->, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Comment node <!--Stuvwxyz-->, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass10,19: resulting range position for range [foreignPara1.firstChild, 0, foreignPara1.firstChild, 0], node detachedComment
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Comment node <!--Stuvwxyz-->, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Comment node <!--Stuvwxyz-->, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-0", "0-1-1-0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass10,20: resulting DOM for range [foreignPara1.firstChild, 0, foreignPara1.firstChild, 0], node docfrag
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(DocumentFragment node with 0 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(DocumentFragment node with 0 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_NODE_TYPE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_NODE_TYPE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass10,20: resulting range position for range [foreignPara1.firstChild, 0, foreignPara1.firstChild, 0], node docfrag
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(DocumentFragment node with 0 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(DocumentFragment node with 0 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(0, 0, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-0", "0-1-1-0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass10,21: resulting DOM for range [foreignPara1.firstChild, 0, foreignPara1.firstChild, 0], node doctype
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_NODE_TYPE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_NODE_TYPE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass10,21: resulting range position for range [foreignPara1.firstChild, 0, foreignPara1.firstChild, 0], node doctype
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(0, 0, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-0", "0-1-1-0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass10,22: resulting DOM for range [foreignPara1.firstChild, 0, foreignPara1.firstChild, 0], node foreignDoctype
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(1, 1, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_NODE_TYPE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_NODE_TYPE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass10,22: resulting range position for range [foreignPara1.firstChild, 0, foreignPara1.firstChild, 0], node foreignDoctype
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(0, 0, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-0", "0-1-1-0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass11,0: resulting DOM for range [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8], node paras[0]
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "ghijkl", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "ghijkl", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass11,0: resulting range position for range [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8], node paras[0]
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "ghijkl", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "ghijkl", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Element node <p id="a">ghijkl</p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Element node <p id="a">ghijkl</p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(1, 1, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected p but got p")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0", "0-1-1-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass11,1: resulting DOM for range [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8], node paras[0].firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "ghijkl", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "ghijkl", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass11,1: resulting range position for range [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8], node paras[0].firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(2, 2, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-0", "0-1-1-0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass11,2: resulting DOM for range [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8], node paras[1].firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "ghijkl", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "ghijkl", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Text node "Ijklmnop ", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Text node "Ijklmnop ", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass11,2: resulting range position for range [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8], node paras[1].firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Ijklmnop ", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Ijklmnop ", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Text node "Ijklmnop ", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Text node "Ijklmnop ", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(2, 2, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-0", "0-1-1-0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass11,3: resulting DOM for range [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8], node paras[5].firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "ghijkl", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "ghijkl", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Node object of unknown type, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Node object of unknown type, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass11,3: resulting range position for range [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8], node paras[5].firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "1234", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "1234", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Node object of unknown type, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Node object of unknown type, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(2, 2, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-0", "0-1-1-0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass11,4: resulting DOM for range [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8], node foreignPara1
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "ghijkl", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "ghijkl", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Element node <p>Efghijkl</p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Element node <p>Efghijkl</p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(1, 1, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass11,4: resulting range position for range [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8], node foreignPara1
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Element node <p></p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Element node <p></p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(0, 0, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected p but got p")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0", "0-1-1-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass11,5: resulting DOM for range [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8], node foreignPara1.firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "ghijkl", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "ghijkl", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Text node "Efghijkl", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Text node "Efghijkl", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(1, 1, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass11,5: resulting range position for range [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8], node foreignPara1.firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Text node "Ef", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Text node "Ef", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(2, 2, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-0", "0-1-1-0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass11,6: resulting DOM for range [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8], node detachedPara1
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "ghijkl", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "ghijkl", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Element node <p>Opqrstuv</p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Element node <p>Opqrstuv</p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass11,6: resulting range position for range [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8], node detachedPara1
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "ghijkl", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "ghijkl", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Element node <p>ghijkl</p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Element node <p>ghijkl</p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(1, 1, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected p but got p")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0", "0-1-1-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass11,7: resulting DOM for range [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8], node detachedPara1.firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "ghijkl", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "ghijkl", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Text node "Opqrstuv", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Text node "Opqrstuv", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass11,7: resulting range position for range [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8], node detachedPara1.firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Opqrstuv", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Opqrstuv", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Text node "Opqrstuv", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Text node "Opqrstuv", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(2, 2, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-0", "0-1-1-0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass11,8: resulting DOM for range [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8], node document
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "ghijkl", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "ghijkl", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Document node with 2 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Document node with 2 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_NODE_TYPE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_NODE_TYPE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass11,8: resulting range position for range [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8], node document
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "ghijkl", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "ghijkl", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Document node with 2 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Document node with 2 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(2, 2, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(8, 8, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-0", "0-1-1-0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass11,9: resulting DOM for range [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8], node detachedDiv
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "ghijkl", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "ghijkl", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Element node <div><p>Opqrstuv</p><p>Wxyzabcd</p></div>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Element node <div><p>Opqrstuv</p><p>Wxyzabcd</p></div>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass11,9: resulting range position for range [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8], node detachedDiv
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "ghijkl", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "ghijkl", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Element node <div>ghijkl</div>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Element node <div>ghijkl</div>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(1, 1, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected p but got p")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0", "0-1-1-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass11,10: resulting DOM for range [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8], node foreignDoc
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "ghijkl", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "ghijkl", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Document node with 3 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Document node with 3 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(1, 1, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_NODE_TYPE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_NODE_TYPE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass11,10: resulting range position for range [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8], node foreignDoc
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "ghijkl", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "ghijkl", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Document node with 3 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Document node with 3 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(2, 2, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(8, 8, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-0", "0-1-1-0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass11,11: resulting DOM for range [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8], node foreignPara2
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "ghijkl", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "ghijkl", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Element node <p>Mnopqrst</p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Element node <p>Mnopqrst</p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(1, 1, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass11,11: resulting range position for range [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8], node foreignPara2
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "ghijkl", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "ghijkl", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Element node <p>ghijkl</p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Element node <p>ghijkl</p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(1, 1, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected p but got p")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0", "0-1-1-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass11,12: resulting DOM for range [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8], node xmlDoc
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "ghijkl", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "ghijkl", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Document node with 4 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Document node with 4 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_NODE_TYPE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_NODE_TYPE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass11,12: resulting range position for range [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8], node xmlDoc
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "ghijkl", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "ghijkl", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Document node with 4 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Document node with 4 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(2, 2, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(8, 8, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-0", "0-1-1-0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass11,13: resulting DOM for range [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8], node xmlElement
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "ghijkl", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "ghijkl", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Element node <igiveuponcreativenames>do re mi fa so la ti</igiveuponcr..., null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Element node <igiveuponcreativenames>do re mi fa so la ti</igiveuponcr..., null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass11,13: resulting range position for range [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8], node xmlElement
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "ghijkl", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "ghijkl", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Element node <igiveuponcreativenames>ghijkl</igiveuponcreativenames>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Element node <igiveuponcreativenames>ghijkl</igiveuponcreativenames>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(1, 1, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected p but got p")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0", "0-1-1-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass11,14: resulting DOM for range [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8], node detachedTextNode
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "ghijkl", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "ghijkl", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Text node "Uvwxyzab", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Text node "Uvwxyzab", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass11,14: resulting range position for range [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8], node detachedTextNode
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Uvwxyzab", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Uvwxyzab", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Text node "Uvwxyzab", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Text node "Uvwxyzab", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(2, 2, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-0", "0-1-1-0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass11,15: resulting DOM for range [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8], node foreignTextNode
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "ghijkl", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "ghijkl", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Text node "I admit that I harbor doubts about whether we really need...", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Text node "I admit that I harbor doubts about whether we really need...", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(1, 1, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass11,15: resulting range position for range [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8], node foreignTextNode
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "I admit that I harbor doubts about whether we really need so many things to test, but it's too late to stop now.", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "I admit that I harbor doubts about whether we really need so many things to test, but it's too late to stop now.", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Text node "I admit that I harbor doubts about whether we really need...", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Text node "I admit that I harbor doubts about whether we really need...", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(2, 2, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-0", "0-1-1-0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass11,16: resulting DOM for range [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8], node processingInstruction
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "ghijkl", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "ghijkl", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(ProcessingInstruction node with target "somePI" and data "Did you know that \":syn sync fromstart\" is very useful wh...", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(ProcessingInstruction node with target "somePI" and data "Did you know that \":syn sync fromstart\" is very useful wh...", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass11,16: resulting range position for range [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8], node processingInstruction
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(ProcessingInstruction node with target "somePI" and data "Did you know that \":syn sync fromstart\" is very useful wh...", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(ProcessingInstruction node with target "somePI" and data "Did you know that \":syn sync fromstart\" is very useful wh...", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(2, 2, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-0", "0-1-1-0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass11,17: resulting DOM for range [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8], node detachedProcessingInstruction
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "ghijkl", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "ghijkl", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(ProcessingInstruction node with target "whippoorwill" and data "chirp chirp chirp", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(ProcessingInstruction node with target "whippoorwill" and data "chirp chirp chirp", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass11,17: resulting range position for range [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8], node detachedProcessingInstruction
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(ProcessingInstruction node with target "whippoorwill" and data "chirp chirp chirp", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(ProcessingInstruction node with target "whippoorwill" and data "chirp chirp chirp", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(2, 2, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-0", "0-1-1-0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass11,18: resulting DOM for range [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8], node comment
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "ghijkl", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "ghijkl", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Comment node <!--Alphabet soup?-->, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Comment node <!--Alphabet soup?-->, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass11,18: resulting range position for range [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8], node comment
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Comment node <!--Alphabet soup?-->, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Comment node <!--Alphabet soup?-->, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(2, 2, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-0", "0-1-1-0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass11,19: resulting DOM for range [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8], node detachedComment
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "ghijkl", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "ghijkl", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Comment node <!--Stuvwxyz-->, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Comment node <!--Stuvwxyz-->, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass11,19: resulting range position for range [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8], node detachedComment
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Comment node <!--Stuvwxyz-->, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Comment node <!--Stuvwxyz-->, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(2, 2, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-0", "0-1-1-0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass11,20: resulting DOM for range [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8], node docfrag
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "ghijkl", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "ghijkl", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(DocumentFragment node with 0 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(DocumentFragment node with 0 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_NODE_TYPE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_NODE_TYPE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass11,20: resulting range position for range [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8], node docfrag
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "ghijkl", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "ghijkl", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(DocumentFragment node with 0 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(DocumentFragment node with 0 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(2, 2, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(8, 8, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-0", "0-1-1-0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass11,21: resulting DOM for range [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8], node doctype
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "ghijkl", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "ghijkl", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_NODE_TYPE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_NODE_TYPE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass11,21: resulting range position for range [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8], node doctype
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "ghijkl", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "ghijkl", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(2, 2, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(8, 8, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-0", "0-1-1-0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass11,22: resulting DOM for range [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8], node foreignDoctype
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "ghijkl", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "ghijkl", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(1, 1, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_NODE_TYPE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_NODE_TYPE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass11,22: resulting range position for range [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8], node foreignDoctype
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "ghijkl", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "ghijkl", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(2, 2, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(8, 8, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-0", "0-1-1-0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass12,0: resulting DOM for range [document.documentElement, 0, document.documentElement, 1], node paras[0]
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Range test iframe   ", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Range test iframe   ", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(1, 1, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass12,0: resulting range position for range [document.documentElement, 0, document.documentElement, 1], node paras[0]
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Range test iframe   ", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Range test iframe   ", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Element node <p id="a"><head><title>Range test iframe</title> <link re..., null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Element node <p id="a"><head><title>Range test iframe</title> <link re..., null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(1, 1, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected html but got html")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1", "0-1", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass12,1: resulting DOM for range [document.documentElement, 0, document.documentElement, 1], node paras[0].firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Range test iframe   ", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Range test iframe   ", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(1, 1, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass12,1: resulting range position for range [document.documentElement, 0, document.documentElement, 1], node paras[0].firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(1, 1, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected html but got html")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1", "0-1", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass12,2: resulting DOM for range [document.documentElement, 0, document.documentElement, 1], node paras[1].firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Range test iframe   ", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Range test iframe   ", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Text node "Ijklmnop ", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Text node "Ijklmnop ", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(1, 1, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass12,2: resulting range position for range [document.documentElement, 0, document.documentElement, 1], node paras[1].firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Ijklmnop ", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Ijklmnop ", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Text node "Ijklmnop ", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Text node "Ijklmnop ", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(1, 1, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected html but got html")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1", "0-1", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass12,3: resulting DOM for range [document.documentElement, 0, document.documentElement, 1], node paras[5].firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Range test iframe   ", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Range test iframe   ", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Node object of unknown type, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Node object of unknown type, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(1, 1, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass12,3: resulting range position for range [document.documentElement, 0, document.documentElement, 1], node paras[5].firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "1234", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "1234", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Node object of unknown type, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Node object of unknown type, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(1, 1, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected html but got html")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1", "0-1", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass12,4: resulting DOM for range [document.documentElement, 0, document.documentElement, 1], node foreignPara1
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Range test iframe   ", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Range test iframe   ", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Element node <p>Efghijkl</p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Element node <p>Efghijkl</p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass12,4: resulting range position for range [document.documentElement, 0, document.documentElement, 1], node foreignPara1
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Range test iframe   ", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Range test iframe   ", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Element node <p><head><title>Range test iframe</title> <link rel="auth..., null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Element node <p><head><title>Range test iframe</title> <link rel="auth..., null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(1, 1, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected html but got html")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1", "0-1", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass12,5: resulting DOM for range [document.documentElement, 0, document.documentElement, 1], node foreignPara1.firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Range test iframe   ", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Range test iframe   ", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Text node "Efghijkl", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Text node "Efghijkl", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass12,5: resulting range position for range [document.documentElement, 0, document.documentElement, 1], node foreignPara1.firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Efghijkl", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Efghijkl", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Text node "Efghijkl", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Text node "Efghijkl", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(1, 1, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected html but got html")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1", "0-1", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass12,6: resulting DOM for range [document.documentElement, 0, document.documentElement, 1], node detachedPara1
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Range test iframe   ", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Range test iframe   ", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Element node <p>Opqrstuv</p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Element node <p>Opqrstuv</p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass12,6: resulting range position for range [document.documentElement, 0, document.documentElement, 1], node detachedPara1
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Range test iframe   ", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Range test iframe   ", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Element node <p><head><title>Range test iframe</title> <link rel="auth..., null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Element node <p><head><title>Range test iframe</title> <link rel="auth..., null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(1, 1, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected html but got html")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1", "0-1", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass12,7: resulting DOM for range [document.documentElement, 0, document.documentElement, 1], node detachedPara1.firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Range test iframe   ", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Range test iframe   ", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Text node "Opqrstuv", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Text node "Opqrstuv", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass12,7: resulting range position for range [document.documentElement, 0, document.documentElement, 1], node detachedPara1.firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Opqrstuv", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Opqrstuv", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Text node "Opqrstuv", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Text node "Opqrstuv", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(1, 1, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected html but got html")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1", "0-1", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass12,8: resulting DOM for range [document.documentElement, 0, document.documentElement, 1], node document
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Range test iframe   ", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Range test iframe   ", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Document node with 2 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Document node with 2 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(1, 1, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_NODE_TYPE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_NODE_TYPE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass12,8: resulting range position for range [document.documentElement, 0, document.documentElement, 1], node document
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Range test iframe   ", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Range test iframe   ", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Document node with 2 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Document node with 2 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(1, 1, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected html but got html")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1", "0-1", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass12,9: resulting DOM for range [document.documentElement, 0, document.documentElement, 1], node detachedDiv
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Range test iframe   ", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Range test iframe   ", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Element node <div><p>Opqrstuv</p><p>Wxyzabcd</p></div>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Element node <div><p>Opqrstuv</p><p>Wxyzabcd</p></div>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass12,9: resulting range position for range [document.documentElement, 0, document.documentElement, 1], node detachedDiv
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Range test iframe   ", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Range test iframe   ", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Element node <div><head><title>Range test iframe</title> <link rel="au..., null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Element node <div><head><title>Range test iframe</title> <link rel="au..., null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(1, 1, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected html but got html")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1", "0-1", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass12,10: resulting DOM for range [document.documentElement, 0, document.documentElement, 1], node foreignDoc
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Range test iframe   ", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Range test iframe   ", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Document node with 3 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Document node with 3 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_NODE_TYPE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_NODE_TYPE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass12,10: resulting range position for range [document.documentElement, 0, document.documentElement, 1], node foreignDoc
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Range test iframe   ", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Range test iframe   ", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Document node with 3 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Document node with 3 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(1, 1, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected html but got html")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1", "0-1", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass12,11: resulting DOM for range [document.documentElement, 0, document.documentElement, 1], node foreignPara2
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Range test iframe   ", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Range test iframe   ", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Element node <p>Mnopqrst</p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Element node <p>Mnopqrst</p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass12,11: resulting range position for range [document.documentElement, 0, document.documentElement, 1], node foreignPara2
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Range test iframe   ", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Range test iframe   ", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Element node <p><head><title>Range test iframe</title> <link rel="auth..., null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Element node <p><head><title>Range test iframe</title> <link rel="auth..., null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(1, 1, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected html but got html")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1", "0-1", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass12,12: resulting DOM for range [document.documentElement, 0, document.documentElement, 1], node xmlDoc
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Range test iframe   ", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Range test iframe   ", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Document node with 4 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Document node with 4 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_NODE_TYPE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_NODE_TYPE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass12,12: resulting range position for range [document.documentElement, 0, document.documentElement, 1], node xmlDoc
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Range test iframe   ", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Range test iframe   ", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Document node with 4 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Document node with 4 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(1, 1, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected html but got html")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1", "0-1", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass12,13: resulting DOM for range [document.documentElement, 0, document.documentElement, 1], node xmlElement
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Range test iframe   ", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Range test iframe   ", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Element node <igiveuponcreativenames>do re mi fa so la ti</igiveuponcr..., null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Element node <igiveuponcreativenames>do re mi fa so la ti</igiveuponcr..., null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass12,13: resulting range position for range [document.documentElement, 0, document.documentElement, 1], node xmlElement
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Range test iframe   ", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Range test iframe   ", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Element node <igiveuponcreativenames><head><title>Range test iframe</t..., null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Element node <igiveuponcreativenames><head><title>Range test iframe</t..., null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(1, 1, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected html but got html")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1", "0-1", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass12,14: resulting DOM for range [document.documentElement, 0, document.documentElement, 1], node detachedTextNode
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Range test iframe   ", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Range test iframe   ", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Text node "Uvwxyzab", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Text node "Uvwxyzab", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass12,14: resulting range position for range [document.documentElement, 0, document.documentElement, 1], node detachedTextNode
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Uvwxyzab", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Uvwxyzab", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Text node "Uvwxyzab", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Text node "Uvwxyzab", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(1, 1, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected html but got html")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1", "0-1", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass12,15: resulting DOM for range [document.documentElement, 0, document.documentElement, 1], node foreignTextNode
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Range test iframe   ", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Range test iframe   ", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Text node "I admit that I harbor doubts about whether we really need...", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Text node "I admit that I harbor doubts about whether we really need...", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass12,15: resulting range position for range [document.documentElement, 0, document.documentElement, 1], node foreignTextNode
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "I admit that I harbor doubts about whether we really need so many things to test, but it's too late to stop now.", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "I admit that I harbor doubts about whether we really need so many things to test, but it's too late to stop now.", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Text node "I admit that I harbor doubts about whether we really need...", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Text node "I admit that I harbor doubts about whether we really need...", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(1, 1, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected html but got html")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1", "0-1", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass12,16: resulting DOM for range [document.documentElement, 0, document.documentElement, 1], node processingInstruction
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Range test iframe   ", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Range test iframe   ", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(ProcessingInstruction node with target "somePI" and data "Did you know that \":syn sync fromstart\" is very useful wh...", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(ProcessingInstruction node with target "somePI" and data "Did you know that \":syn sync fromstart\" is very useful wh...", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass12,16: resulting range position for range [document.documentElement, 0, document.documentElement, 1], node processingInstruction
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(ProcessingInstruction node with target "somePI" and data "Did you know that \":syn sync fromstart\" is very useful wh...", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(ProcessingInstruction node with target "somePI" and data "Did you know that \":syn sync fromstart\" is very useful wh...", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(1, 1, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected html but got html")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1", "0-1", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass12,17: resulting DOM for range [document.documentElement, 0, document.documentElement, 1], node detachedProcessingInstruction
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Range test iframe   ", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Range test iframe   ", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(ProcessingInstruction node with target "whippoorwill" and data "chirp chirp chirp", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(ProcessingInstruction node with target "whippoorwill" and data "chirp chirp chirp", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass12,17: resulting range position for range [document.documentElement, 0, document.documentElement, 1], node detachedProcessingInstruction
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(ProcessingInstruction node with target "whippoorwill" and data "chirp chirp chirp", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(ProcessingInstruction node with target "whippoorwill" and data "chirp chirp chirp", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(1, 1, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected html but got html")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1", "0-1", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass12,18: resulting DOM for range [document.documentElement, 0, document.documentElement, 1], node comment
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Range test iframe   ", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Range test iframe   ", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Comment node <!--Alphabet soup?-->, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Comment node <!--Alphabet soup?-->, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(1, 1, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass12,18: resulting range position for range [document.documentElement, 0, document.documentElement, 1], node comment
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Comment node <!--Alphabet soup?-->, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Comment node <!--Alphabet soup?-->, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(1, 1, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected html but got html")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1", "0-1", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass12,19: resulting DOM for range [document.documentElement, 0, document.documentElement, 1], node detachedComment
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Range test iframe   ", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Range test iframe   ", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Comment node <!--Stuvwxyz-->, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Comment node <!--Stuvwxyz-->, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass12,19: resulting range position for range [document.documentElement, 0, document.documentElement, 1], node detachedComment
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Comment node <!--Stuvwxyz-->, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Comment node <!--Stuvwxyz-->, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(1, 1, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected html but got html")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1", "0-1", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass12,20: resulting DOM for range [document.documentElement, 0, document.documentElement, 1], node docfrag
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Range test iframe   ", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Range test iframe   ", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(DocumentFragment node with 0 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(DocumentFragment node with 0 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_NODE_TYPE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_NODE_TYPE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass12,20: resulting range position for range [document.documentElement, 0, document.documentElement, 1], node docfrag
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Range test iframe   ", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Range test iframe   ", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(DocumentFragment node with 0 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(DocumentFragment node with 0 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(1, 1, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected html but got html")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1", "0-1", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass12,21: resulting DOM for range [document.documentElement, 0, document.documentElement, 1], node doctype
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Range test iframe   ", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Range test iframe   ", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(1, 1, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_NODE_TYPE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_NODE_TYPE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass12,21: resulting range position for range [document.documentElement, 0, document.documentElement, 1], node doctype
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Range test iframe   ", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Range test iframe   ", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(1, 1, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected html but got html")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1", "0-1", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass12,22: resulting DOM for range [document.documentElement, 0, document.documentElement, 1], node foreignDoctype
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Range test iframe   ", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Range test iframe   ", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_NODE_TYPE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_NODE_TYPE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass12,22: resulting range position for range [document.documentElement, 0, document.documentElement, 1], node foreignDoctype
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Range test iframe   ", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Range test iframe   ", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(1, 1, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected html but got html")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1", "0-1", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass13,0: resulting DOM for range [document.documentElement, 0, document.documentElement, 2], node paras[0]
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Range test iframe   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012   "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and c...", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Range test iframe   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012   "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and c...", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(1, 1, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass13,0: resulting range position for range [document.documentElement, 0, document.documentElement, 2], node paras[0]
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Range test iframe   Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012   "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and can be done       ...", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Range test iframe   Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012   "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and can be done       ...", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Element node <p id="a"><head><title>Range test iframe</title> <link re..., null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Element node <p id="a"><head><title>Range test iframe</title> <link re..., null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(1, 1, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected html but got html")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1", "0-1", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass13,1: resulting DOM for range [document.documentElement, 0, document.documentElement, 2], node paras[0].firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Range test iframe   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012   "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and c...", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Range test iframe   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012   "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and c...", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(1, 1, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass13,1: resulting range position for range [document.documentElement, 0, document.documentElement, 2], node paras[0].firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(1, 1, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected html but got html")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1", "0-1", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass13,2: resulting DOM for range [document.documentElement, 0, document.documentElement, 2], node paras[1].firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Range test iframe   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012   "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and c...", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Range test iframe   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012   "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and c...", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Text node "Ijklmnop ", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Text node "Ijklmnop ", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(1, 1, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass13,2: resulting range position for range [document.documentElement, 0, document.documentElement, 2], node paras[1].firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Ijklmnop ", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Ijklmnop ", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Text node "Ijklmnop ", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Text node "Ijklmnop ", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(1, 1, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected html but got html")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1", "0-1", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass13,3: resulting DOM for range [document.documentElement, 0, document.documentElement, 2], node paras[5].firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Range test iframe   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012   "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and c...", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Range test iframe   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012   "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and c...", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Node object of unknown type, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Node object of unknown type, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(1, 1, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass13,3: resulting range position for range [document.documentElement, 0, document.documentElement, 2], node paras[5].firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "1234", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "1234", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Node object of unknown type, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Node object of unknown type, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(1, 1, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected html but got html")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1", "0-1", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass13,4: resulting DOM for range [document.documentElement, 0, document.documentElement, 2], node foreignPara1
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Range test iframe   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012   "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and c...", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Range test iframe   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012   "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and c...", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Element node <p>Efghijkl</p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Element node <p>Efghijkl</p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass13,4: resulting range position for range [document.documentElement, 0, document.documentElement, 2], node foreignPara1
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Range test iframe   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012   "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and c...", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Range test iframe   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012   "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and c...", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Element node <p><head><title>Range test iframe</title> <link rel="auth..., null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Element node <p><head><title>Range test iframe</title> <link rel="auth..., null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(1, 1, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected html but got html")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1", "0-1", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass13,5: resulting DOM for range [document.documentElement, 0, document.documentElement, 2], node foreignPara1.firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Range test iframe   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012   "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and c...", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Range test iframe   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012   "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and c...", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Text node "Efghijkl", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Text node "Efghijkl", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass13,5: resulting range position for range [document.documentElement, 0, document.documentElement, 2], node foreignPara1.firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Efghijkl", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Efghijkl", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Text node "Efghijkl", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Text node "Efghijkl", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(1, 1, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected html but got html")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1", "0-1", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass13,6: resulting DOM for range [document.documentElement, 0, document.documentElement, 2], node detachedPara1
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Range test iframe   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012   "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and c...", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Range test iframe   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012   "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and c...", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Element node <p>Opqrstuv</p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Element node <p>Opqrstuv</p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass13,6: resulting range position for range [document.documentElement, 0, document.documentElement, 2], node detachedPara1
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Range test iframe   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012   "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and c...", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Range test iframe   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012   "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and c...", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Element node <p><head><title>Range test iframe</title> <link rel="auth..., null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Element node <p><head><title>Range test iframe</title> <link rel="auth..., null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(1, 1, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected html but got html")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1", "0-1", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass13,7: resulting DOM for range [document.documentElement, 0, document.documentElement, 2], node detachedPara1.firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Range test iframe   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012   "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and c...", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Range test iframe   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012   "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and c...", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Text node "Opqrstuv", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Text node "Opqrstuv", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass13,7: resulting range position for range [document.documentElement, 0, document.documentElement, 2], node detachedPara1.firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Opqrstuv", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Opqrstuv", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Text node "Opqrstuv", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Text node "Opqrstuv", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(1, 1, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected html but got html")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1", "0-1", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass13,8: resulting DOM for range [document.documentElement, 0, document.documentElement, 2], node document
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Range test iframe   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012   "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and c...", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Range test iframe   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012   "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and c...", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Document node with 2 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Document node with 2 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(1, 1, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_NODE_TYPE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_NODE_TYPE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass13,8: resulting range position for range [document.documentElement, 0, document.documentElement, 2], node document
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Range test iframe   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012   "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and c...", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Range test iframe   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012   "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and c...", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Document node with 2 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Document node with 2 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected html but got html")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1", "0-1", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass13,9: resulting DOM for range [document.documentElement, 0, document.documentElement, 2], node detachedDiv
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Range test iframe   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012   "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and c...", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Range test iframe   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012   "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and c...", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Element node <div><p>Opqrstuv</p><p>Wxyzabcd</p></div>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Element node <div><p>Opqrstuv</p><p>Wxyzabcd</p></div>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass13,9: resulting range position for range [document.documentElement, 0, document.documentElement, 2], node detachedDiv
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Range test iframe   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012   "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and c...", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Range test iframe   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012   "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and c...", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Element node <div><head><title>Range test iframe</title> <link rel="au..., null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Element node <div><head><title>Range test iframe</title> <link rel="au..., null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(1, 1, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected html but got html")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1", "0-1", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass13,10: resulting DOM for range [document.documentElement, 0, document.documentElement, 2], node foreignDoc
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Range test iframe   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012   "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and c...", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Range test iframe   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012   "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and c...", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Document node with 3 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Document node with 3 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_NODE_TYPE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_NODE_TYPE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass13,10: resulting range position for range [document.documentElement, 0, document.documentElement, 2], node foreignDoc
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Range test iframe   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012   "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and c...", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Range test iframe   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012   "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and c...", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Document node with 3 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Document node with 3 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected html but got html")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1", "0-1", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass13,11: resulting DOM for range [document.documentElement, 0, document.documentElement, 2], node foreignPara2
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Range test iframe   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012   "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and c...", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Range test iframe   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012   "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and c...", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Element node <p>Mnopqrst</p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Element node <p>Mnopqrst</p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass13,11: resulting range position for range [document.documentElement, 0, document.documentElement, 2], node foreignPara2
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Range test iframe   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012   "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and c...", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Range test iframe   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012   "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and c...", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Element node <p><head><title>Range test iframe</title> <link rel="auth..., null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Element node <p><head><title>Range test iframe</title> <link rel="auth..., null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(1, 1, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected html but got html")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1", "0-1", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass13,12: resulting DOM for range [document.documentElement, 0, document.documentElement, 2], node xmlDoc
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Range test iframe   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012   "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and c...", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Range test iframe   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012   "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and c...", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Document node with 4 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Document node with 4 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_NODE_TYPE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_NODE_TYPE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass13,12: resulting range position for range [document.documentElement, 0, document.documentElement, 2], node xmlDoc
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Range test iframe   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012   "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and c...", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Range test iframe   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012   "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and c...", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Document node with 4 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Document node with 4 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected html but got html")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1", "0-1", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass13,13: resulting DOM for range [document.documentElement, 0, document.documentElement, 2], node xmlElement
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Range test iframe   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012   "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and c...", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Range test iframe   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012   "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and c...", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Element node <igiveuponcreativenames>do re mi fa so la ti</igiveuponcr..., null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Element node <igiveuponcreativenames>do re mi fa so la ti</igiveuponcr..., null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass13,13: resulting range position for range [document.documentElement, 0, document.documentElement, 2], node xmlElement
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Range test iframe   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012   "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and c...", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Range test iframe   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012   "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and c...", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Element node <igiveuponcreativenames><head><title>Range test iframe</t..., null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Element node <igiveuponcreativenames><head><title>Range test iframe</t..., null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(1, 1, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected html but got html")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1", "0-1", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass13,14: resulting DOM for range [document.documentElement, 0, document.documentElement, 2], node detachedTextNode
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Range test iframe   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012   "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and c...", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Range test iframe   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012   "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and c...", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Text node "Uvwxyzab", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Text node "Uvwxyzab", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass13,14: resulting range position for range [document.documentElement, 0, document.documentElement, 2], node detachedTextNode
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Uvwxyzab", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Uvwxyzab", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Text node "Uvwxyzab", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Text node "Uvwxyzab", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(1, 1, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected html but got html")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1", "0-1", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass13,15: resulting DOM for range [document.documentElement, 0, document.documentElement, 2], node foreignTextNode
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Range test iframe   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012   "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and c...", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Range test iframe   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012   "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and c...", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Text node "I admit that I harbor doubts about whether we really need...", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Text node "I admit that I harbor doubts about whether we really need...", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass13,15: resulting range position for range [document.documentElement, 0, document.documentElement, 2], node foreignTextNode
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "I admit that I harbor doubts about whether we really need so many things to test, but it's too late to stop now.", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "I admit that I harbor doubts about whether we really need so many things to test, but it's too late to stop now.", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Text node "I admit that I harbor doubts about whether we really need...", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Text node "I admit that I harbor doubts about whether we really need...", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(1, 1, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected html but got html")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1", "0-1", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass13,16: resulting DOM for range [document.documentElement, 0, document.documentElement, 2], node processingInstruction
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Range test iframe   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012   "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and c...", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Range test iframe   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012   "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and c...", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(ProcessingInstruction node with target "somePI" and data "Did you know that \":syn sync fromstart\" is very useful wh...", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(ProcessingInstruction node with target "somePI" and data "Did you know that \":syn sync fromstart\" is very useful wh...", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass13,16: resulting range position for range [document.documentElement, 0, document.documentElement, 2], node processingInstruction
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(ProcessingInstruction node with target "somePI" and data "Did you know that \":syn sync fromstart\" is very useful wh...", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(ProcessingInstruction node with target "somePI" and data "Did you know that \":syn sync fromstart\" is very useful wh...", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(1, 1, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected html but got html")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1", "0-1", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass13,17: resulting DOM for range [document.documentElement, 0, document.documentElement, 2], node detachedProcessingInstruction
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Range test iframe   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012   "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and c...", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Range test iframe   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012   "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and c...", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(ProcessingInstruction node with target "whippoorwill" and data "chirp chirp chirp", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(ProcessingInstruction node with target "whippoorwill" and data "chirp chirp chirp", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass13,17: resulting range position for range [document.documentElement, 0, document.documentElement, 2], node detachedProcessingInstruction
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(ProcessingInstruction node with target "whippoorwill" and data "chirp chirp chirp", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(ProcessingInstruction node with target "whippoorwill" and data "chirp chirp chirp", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(1, 1, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected html but got html")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1", "0-1", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass13,18: resulting DOM for range [document.documentElement, 0, document.documentElement, 2], node comment
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Range test iframe   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012   "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and c...", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Range test iframe   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012   "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and c...", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Comment node <!--Alphabet soup?-->, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Comment node <!--Alphabet soup?-->, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(1, 1, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass13,18: resulting range position for range [document.documentElement, 0, document.documentElement, 2], node comment
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Comment node <!--Alphabet soup?-->, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Comment node <!--Alphabet soup?-->, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(1, 1, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected html but got html")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1", "0-1", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass13,19: resulting DOM for range [document.documentElement, 0, document.documentElement, 2], node detachedComment
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Range test iframe   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012   "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and c...", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Range test iframe   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012   "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and c...", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Comment node <!--Stuvwxyz-->, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Comment node <!--Stuvwxyz-->, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass13,19: resulting range position for range [document.documentElement, 0, document.documentElement, 2], node detachedComment
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Comment node <!--Stuvwxyz-->, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Comment node <!--Stuvwxyz-->, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(1, 1, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected html but got html")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1", "0-1", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass13,20: resulting DOM for range [document.documentElement, 0, document.documentElement, 2], node docfrag
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Range test iframe   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012   "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and c...", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Range test iframe   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012   "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and c...", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(DocumentFragment node with 0 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(DocumentFragment node with 0 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_NODE_TYPE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_NODE_TYPE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass13,20: resulting range position for range [document.documentElement, 0, document.documentElement, 2], node docfrag
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Range test iframe   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012   "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and c...", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Range test iframe   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012   "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and c...", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(DocumentFragment node with 0 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(DocumentFragment node with 0 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected html but got html")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1", "0-1", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass13,21: resulting DOM for range [document.documentElement, 0, document.documentElement, 2], node doctype
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Range test iframe   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012   "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and c...", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Range test iframe   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012   "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and c...", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(1, 1, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_NODE_TYPE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_NODE_TYPE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass13,21: resulting range position for range [document.documentElement, 0, document.documentElement, 2], node doctype
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Range test iframe   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012   "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and c...", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Range test iframe   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012   "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and c...", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected html but got html")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1", "0-1", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass13,22: resulting DOM for range [document.documentElement, 0, document.documentElement, 2], node foreignDoctype
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Range test iframe   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012   "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and c...", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Range test iframe   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012   "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and c...", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_NODE_TYPE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_NODE_TYPE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass13,22: resulting range position for range [document.documentElement, 0, document.documentElement, 2], node foreignDoctype
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Range test iframe   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012   "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and c...", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Range test iframe   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012   "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and c...", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected html but got html")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1", "0-1", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass14,0: resulting DOM for range [document.documentElement, 1, document.documentElement, 2], node paras[0]
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012   "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and can be done       // ...", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012   "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and can be done       // ...", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(1, 1, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass14,0: resulting range position for range [document.documentElement, 1, document.documentElement, 2], node paras[0]
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012   "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and can be done       // synchronously    ...", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012   "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and can be done       // synchronously    ...", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Element node <p id="a"><body onload="run()"><div id="test"><p id="b" s..., null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Element node <p id="a"><body onload="run()"><div id="test"><p id="b" s..., null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(1, 1, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected html but got html")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1", "0-1", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass14,1: resulting DOM for range [document.documentElement, 1, document.documentElement, 2], node paras[0].firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012   "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and can be done       // ...", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012   "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and can be done       // ...", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(1, 1, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass14,1: resulting range position for range [document.documentElement, 1, document.documentElement, 2], node paras[0].firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(1, 1, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected html but got html")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1", "0-1", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass14,2: resulting DOM for range [document.documentElement, 1, document.documentElement, 2], node paras[1].firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012   "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and can be done       // ...", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012   "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and can be done       // ...", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Text node "Ijklmnop ", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Text node "Ijklmnop ", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(1, 1, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass14,2: resulting range position for range [document.documentElement, 1, document.documentElement, 2], node paras[1].firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Ijklmnop ", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Ijklmnop ", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Text node "Ijklmnop ", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Text node "Ijklmnop ", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(1, 1, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected html but got html")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1", "0-1", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass14,3: resulting DOM for range [document.documentElement, 1, document.documentElement, 2], node paras[5].firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012   "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and can be done       // ...", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012   "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and can be done       // ...", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Node object of unknown type, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Node object of unknown type, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(1, 1, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass14,3: resulting range position for range [document.documentElement, 1, document.documentElement, 2], node paras[5].firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "1234", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "1234", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Node object of unknown type, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Node object of unknown type, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(1, 1, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected html but got html")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1", "0-1", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass14,4: resulting DOM for range [document.documentElement, 1, document.documentElement, 2], node foreignPara1
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012   "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and can be done       // ...", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012   "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and can be done       // ...", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Element node <p>Efghijkl</p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Element node <p>Efghijkl</p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass14,4: resulting range position for range [document.documentElement, 1, document.documentElement, 2], node foreignPara1
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012   "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and can be done       // ...", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012   "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and can be done       // ...", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Element node <p><body onload="run()"><div id="test"><p id="a">Äb̈c̈d̈..., null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Element node <p><body onload="run()"><div id="test"><p id="a">Äb̈c̈d̈..., null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(1, 1, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected html but got html")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1", "0-1", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass14,5: resulting DOM for range [document.documentElement, 1, document.documentElement, 2], node foreignPara1.firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012   "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and can be done       // ...", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012   "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and can be done       // ...", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Text node "Efghijkl", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Text node "Efghijkl", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass14,5: resulting range position for range [document.documentElement, 1, document.documentElement, 2], node foreignPara1.firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Efghijkl", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Efghijkl", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Text node "Efghijkl", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Text node "Efghijkl", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(1, 1, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected html but got html")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1", "0-1", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass14,6: resulting DOM for range [document.documentElement, 1, document.documentElement, 2], node detachedPara1
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012   "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and can be done       // ...", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012   "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and can be done       // ...", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Element node <p>Opqrstuv</p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Element node <p>Opqrstuv</p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass14,6: resulting range position for range [document.documentElement, 1, document.documentElement, 2], node detachedPara1
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012   "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and can be done       // ...", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012   "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and can be done       // ...", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Element node <p><body onload="run()"><div id="test"><p id="a">Äb̈c̈d̈..., null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Element node <p><body onload="run()"><div id="test"><p id="a">Äb̈c̈d̈..., null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(1, 1, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected html but got html")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1", "0-1", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass14,7: resulting DOM for range [document.documentElement, 1, document.documentElement, 2], node detachedPara1.firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012   "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and can be done       // ...", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012   "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and can be done       // ...", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Text node "Opqrstuv", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Text node "Opqrstuv", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass14,7: resulting range position for range [document.documentElement, 1, document.documentElement, 2], node detachedPara1.firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Opqrstuv", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Opqrstuv", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Text node "Opqrstuv", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Text node "Opqrstuv", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(1, 1, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected html but got html")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1", "0-1", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass14,8: resulting DOM for range [document.documentElement, 1, document.documentElement, 2], node document
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012   "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and can be done       // ...", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012   "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and can be done       // ...", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Document node with 2 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Document node with 2 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(1, 1, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_NODE_TYPE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_NODE_TYPE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass14,8: resulting range position for range [document.documentElement, 1, document.documentElement, 2], node document
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012   "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and can be done       // ...", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012   "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and can be done       // ...", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Document node with 2 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Document node with 2 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(1, 1, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected html but got html")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1", "0-1", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass14,9: resulting DOM for range [document.documentElement, 1, document.documentElement, 2], node detachedDiv
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012   "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and can be done       // ...", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012   "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and can be done       // ...", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Element node <div><p>Opqrstuv</p><p>Wxyzabcd</p></div>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Element node <div><p>Opqrstuv</p><p>Wxyzabcd</p></div>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass14,9: resulting range position for range [document.documentElement, 1, document.documentElement, 2], node detachedDiv
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012   "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and can be done       // ...", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012   "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and can be done       // ...", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Element node <div><body onload="run()"><div id="test"><p id="a">Äb̈c̈..., null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Element node <div><body onload="run()"><div id="test"><p id="a">Äb̈c̈..., null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(1, 1, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected html but got html")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1", "0-1", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass14,10: resulting DOM for range [document.documentElement, 1, document.documentElement, 2], node foreignDoc
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012   "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and can be done       // ...", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012   "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and can be done       // ...", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Document node with 3 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Document node with 3 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_NODE_TYPE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_NODE_TYPE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass14,10: resulting range position for range [document.documentElement, 1, document.documentElement, 2], node foreignDoc
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012   "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and can be done       // ...", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012   "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and can be done       // ...", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Document node with 3 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Document node with 3 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(1, 1, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected html but got html")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1", "0-1", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass14,11: resulting DOM for range [document.documentElement, 1, document.documentElement, 2], node foreignPara2
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012   "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and can be done       // ...", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012   "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and can be done       // ...", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Element node <p>Mnopqrst</p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Element node <p>Mnopqrst</p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass14,11: resulting range position for range [document.documentElement, 1, document.documentElement, 2], node foreignPara2
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012   "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and can be done       // ...", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012   "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and can be done       // ...", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Element node <p><body onload="run()"><div id="test"><p id="a">Äb̈c̈d̈..., null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Element node <p><body onload="run()"><div id="test"><p id="a">Äb̈c̈d̈..., null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(1, 1, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected html but got html")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1", "0-1", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass14,12: resulting DOM for range [document.documentElement, 1, document.documentElement, 2], node xmlDoc
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012   "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and can be done       // ...", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012   "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and can be done       // ...", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Document node with 4 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Document node with 4 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_NODE_TYPE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_NODE_TYPE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass14,12: resulting range position for range [document.documentElement, 1, document.documentElement, 2], node xmlDoc
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012   "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and can be done       // ...", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012   "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and can be done       // ...", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Document node with 4 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Document node with 4 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(1, 1, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected html but got html")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1", "0-1", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass14,13: resulting DOM for range [document.documentElement, 1, document.documentElement, 2], node xmlElement
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012   "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and can be done       // ...", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012   "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and can be done       // ...", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Element node <igiveuponcreativenames>do re mi fa so la ti</igiveuponcr..., null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Element node <igiveuponcreativenames>do re mi fa so la ti</igiveuponcr..., null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass14,13: resulting range position for range [document.documentElement, 1, document.documentElement, 2], node xmlElement
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012   "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and can be done       // ...", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012   "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and can be done       // ...", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Element node <igiveuponcreativenames><body onload="run()"><div id="tes..., null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Element node <igiveuponcreativenames><body onload="run()"><div id="tes..., null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(1, 1, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected html but got html")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1", "0-1", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass14,14: resulting DOM for range [document.documentElement, 1, document.documentElement, 2], node detachedTextNode
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012   "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and can be done       // ...", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012   "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and can be done       // ...", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Text node "Uvwxyzab", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Text node "Uvwxyzab", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass14,14: resulting range position for range [document.documentElement, 1, document.documentElement, 2], node detachedTextNode
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Uvwxyzab", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Uvwxyzab", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Text node "Uvwxyzab", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Text node "Uvwxyzab", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(1, 1, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected html but got html")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1", "0-1", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass14,15: resulting DOM for range [document.documentElement, 1, document.documentElement, 2], node foreignTextNode
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012   "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and can be done       // ...", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012   "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and can be done       // ...", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Text node "I admit that I harbor doubts about whether we really need...", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Text node "I admit that I harbor doubts about whether we really need...", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass14,15: resulting range position for range [document.documentElement, 1, document.documentElement, 2], node foreignTextNode
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "I admit that I harbor doubts about whether we really need so many things to test, but it's too late to stop now.", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "I admit that I harbor doubts about whether we really need so many things to test, but it's too late to stop now.", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Text node "I admit that I harbor doubts about whether we really need...", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Text node "I admit that I harbor doubts about whether we really need...", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(1, 1, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected html but got html")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1", "0-1", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass14,16: resulting DOM for range [document.documentElement, 1, document.documentElement, 2], node processingInstruction
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012   "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and can be done       // ...", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012   "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and can be done       // ...", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(ProcessingInstruction node with target "somePI" and data "Did you know that \":syn sync fromstart\" is very useful wh...", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(ProcessingInstruction node with target "somePI" and data "Did you know that \":syn sync fromstart\" is very useful wh...", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass14,16: resulting range position for range [document.documentElement, 1, document.documentElement, 2], node processingInstruction
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(ProcessingInstruction node with target "somePI" and data "Did you know that \":syn sync fromstart\" is very useful wh...", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(ProcessingInstruction node with target "somePI" and data "Did you know that \":syn sync fromstart\" is very useful wh...", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(1, 1, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected html but got html")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1", "0-1", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass14,17: resulting DOM for range [document.documentElement, 1, document.documentElement, 2], node detachedProcessingInstruction
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012   "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and can be done       // ...", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012   "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and can be done       // ...", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(ProcessingInstruction node with target "whippoorwill" and data "chirp chirp chirp", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(ProcessingInstruction node with target "whippoorwill" and data "chirp chirp chirp", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass14,17: resulting range position for range [document.documentElement, 1, document.documentElement, 2], node detachedProcessingInstruction
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(ProcessingInstruction node with target "whippoorwill" and data "chirp chirp chirp", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(ProcessingInstruction node with target "whippoorwill" and data "chirp chirp chirp", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(1, 1, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected html but got html")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1", "0-1", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass14,18: resulting DOM for range [document.documentElement, 1, document.documentElement, 2], node comment
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012   "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and can be done       // ...", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012   "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and can be done       // ...", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Comment node <!--Alphabet soup?-->, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Comment node <!--Alphabet soup?-->, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(1, 1, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass14,18: resulting range position for range [document.documentElement, 1, document.documentElement, 2], node comment
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Comment node <!--Alphabet soup?-->, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Comment node <!--Alphabet soup?-->, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(1, 1, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected html but got html")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1", "0-1", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass14,19: resulting DOM for range [document.documentElement, 1, document.documentElement, 2], node detachedComment
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012   "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and can be done       // ...", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012   "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and can be done       // ...", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Comment node <!--Stuvwxyz-->, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Comment node <!--Stuvwxyz-->, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass14,19: resulting range position for range [document.documentElement, 1, document.documentElement, 2], node detachedComment
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Comment node <!--Stuvwxyz-->, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Comment node <!--Stuvwxyz-->, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(1, 1, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected html but got html")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1", "0-1", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass14,20: resulting DOM for range [document.documentElement, 1, document.documentElement, 2], node docfrag
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012   "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and can be done       // ...", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012   "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and can be done       // ...", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(DocumentFragment node with 0 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(DocumentFragment node with 0 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_NODE_TYPE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_NODE_TYPE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass14,20: resulting range position for range [document.documentElement, 1, document.documentElement, 2], node docfrag
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012   "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and can be done       // ...", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012   "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and can be done       // ...", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(DocumentFragment node with 0 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(DocumentFragment node with 0 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(1, 1, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected html but got html")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1", "0-1", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass14,21: resulting DOM for range [document.documentElement, 1, document.documentElement, 2], node doctype
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012   "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and can be done       // ...", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012   "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and can be done       // ...", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(1, 1, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_NODE_TYPE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_NODE_TYPE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass14,21: resulting range position for range [document.documentElement, 1, document.documentElement, 2], node doctype
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012   "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and can be done       // ...", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012   "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and can be done       // ...", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(1, 1, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected html but got html")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1", "0-1", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass14,22: resulting DOM for range [document.documentElement, 1, document.documentElement, 2], node foreignDoctype
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012   "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and can be done       // ...", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012   "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and can be done       // ...", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_NODE_TYPE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_NODE_TYPE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass14,22: resulting range position for range [document.documentElement, 1, document.documentElement, 2], node foreignDoctype
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012   "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and can be done       // ...", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012   "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and can be done       // ...", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(1, 1, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected html but got html")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1", "0-1", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass15,0: resulting DOM for range [document.head, 1, document.head, 1], node paras[0]
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(1, 1, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass15,0: resulting range position for range [document.head, 1, document.head, 1], node paras[0]
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Element node <p id="a"></p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Element node <p id="a"></p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(1, 1, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected head but got head")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-0", "0-1-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass15,1: resulting DOM for range [document.head, 1, document.head, 1], node paras[0].firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(1, 1, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass15,1: resulting range position for range [document.head, 1, document.head, 1], node paras[0].firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(1, 1, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected head but got head")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-0", "0-1-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass15,2: resulting DOM for range [document.head, 1, document.head, 1], node paras[1].firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Text node "Ijklmnop ", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Text node "Ijklmnop ", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(1, 1, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass15,2: resulting range position for range [document.head, 1, document.head, 1], node paras[1].firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Ijklmnop ", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Ijklmnop ", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Text node "Ijklmnop ", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Text node "Ijklmnop ", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(1, 1, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected head but got head")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-0", "0-1-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass15,3: resulting DOM for range [document.head, 1, document.head, 1], node paras[5].firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Node object of unknown type, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Node object of unknown type, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(1, 1, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass15,3: resulting range position for range [document.head, 1, document.head, 1], node paras[5].firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "1234", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "1234", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Node object of unknown type, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Node object of unknown type, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(1, 1, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected head but got head")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-0", "0-1-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass15,4: resulting DOM for range [document.head, 1, document.head, 1], node foreignPara1
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Element node <p>Efghijkl</p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Element node <p>Efghijkl</p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass15,4: resulting range position for range [document.head, 1, document.head, 1], node foreignPara1
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Element node <p></p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Element node <p></p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(1, 1, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected head but got head")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-0", "0-1-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass15,5: resulting DOM for range [document.head, 1, document.head, 1], node foreignPara1.firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Text node "Efghijkl", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Text node "Efghijkl", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass15,5: resulting range position for range [document.head, 1, document.head, 1], node foreignPara1.firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Efghijkl", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Efghijkl", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Text node "Efghijkl", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Text node "Efghijkl", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(1, 1, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected head but got head")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-0", "0-1-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass15,6: resulting DOM for range [document.head, 1, document.head, 1], node detachedPara1
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Element node <p>Opqrstuv</p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Element node <p>Opqrstuv</p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass15,6: resulting range position for range [document.head, 1, document.head, 1], node detachedPara1
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Element node <p></p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Element node <p></p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(1, 1, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected head but got head")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-0", "0-1-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass15,7: resulting DOM for range [document.head, 1, document.head, 1], node detachedPara1.firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Text node "Opqrstuv", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Text node "Opqrstuv", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass15,7: resulting range position for range [document.head, 1, document.head, 1], node detachedPara1.firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Opqrstuv", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Opqrstuv", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Text node "Opqrstuv", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Text node "Opqrstuv", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(1, 1, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected head but got head")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-0", "0-1-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass15,8: resulting DOM for range [document.head, 1, document.head, 1], node document
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Document node with 2 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Document node with 2 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(1, 1, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_NODE_TYPE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_NODE_TYPE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass15,8: resulting range position for range [document.head, 1, document.head, 1], node document
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Document node with 2 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Document node with 2 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(1, 1, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(1, 1, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected head but got head")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-0", "0-1-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass15,9: resulting DOM for range [document.head, 1, document.head, 1], node detachedDiv
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Element node <div><p>Opqrstuv</p><p>Wxyzabcd</p></div>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Element node <div><p>Opqrstuv</p><p>Wxyzabcd</p></div>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass15,9: resulting range position for range [document.head, 1, document.head, 1], node detachedDiv
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Element node <div></div>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Element node <div></div>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(1, 1, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected head but got head")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-0", "0-1-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass15,10: resulting DOM for range [document.head, 1, document.head, 1], node foreignDoc
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Document node with 3 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Document node with 3 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_NODE_TYPE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_NODE_TYPE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass15,10: resulting range position for range [document.head, 1, document.head, 1], node foreignDoc
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Document node with 3 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Document node with 3 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(1, 1, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(1, 1, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected head but got head")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-0", "0-1-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass15,11: resulting DOM for range [document.head, 1, document.head, 1], node foreignPara2
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Element node <p>Mnopqrst</p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Element node <p>Mnopqrst</p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass15,11: resulting range position for range [document.head, 1, document.head, 1], node foreignPara2
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Element node <p></p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Element node <p></p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(1, 1, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected head but got head")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-0", "0-1-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass15,12: resulting DOM for range [document.head, 1, document.head, 1], node xmlDoc
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Document node with 4 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Document node with 4 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_NODE_TYPE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_NODE_TYPE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass15,12: resulting range position for range [document.head, 1, document.head, 1], node xmlDoc
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Document node with 4 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Document node with 4 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(1, 1, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(1, 1, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected head but got head")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-0", "0-1-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass15,13: resulting DOM for range [document.head, 1, document.head, 1], node xmlElement
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Element node <igiveuponcreativenames>do re mi fa so la ti</igiveuponcr..., null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Element node <igiveuponcreativenames>do re mi fa so la ti</igiveuponcr..., null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass15,13: resulting range position for range [document.head, 1, document.head, 1], node xmlElement
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Element node <igiveuponcreativenames></igiveuponcreativenames>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Element node <igiveuponcreativenames></igiveuponcreativenames>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(1, 1, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected head but got head")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-0", "0-1-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass15,14: resulting DOM for range [document.head, 1, document.head, 1], node detachedTextNode
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Text node "Uvwxyzab", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Text node "Uvwxyzab", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass15,14: resulting range position for range [document.head, 1, document.head, 1], node detachedTextNode
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Uvwxyzab", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Uvwxyzab", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Text node "Uvwxyzab", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Text node "Uvwxyzab", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(1, 1, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected head but got head")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-0", "0-1-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass15,15: resulting DOM for range [document.head, 1, document.head, 1], node foreignTextNode
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Text node "I admit that I harbor doubts about whether we really need...", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Text node "I admit that I harbor doubts about whether we really need...", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass15,15: resulting range position for range [document.head, 1, document.head, 1], node foreignTextNode
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "I admit that I harbor doubts about whether we really need so many things to test, but it's too late to stop now.", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "I admit that I harbor doubts about whether we really need so many things to test, but it's too late to stop now.", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Text node "I admit that I harbor doubts about whether we really need...", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Text node "I admit that I harbor doubts about whether we really need...", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(1, 1, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected head but got head")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-0", "0-1-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass15,16: resulting DOM for range [document.head, 1, document.head, 1], node processingInstruction
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(ProcessingInstruction node with target "somePI" and data "Did you know that \":syn sync fromstart\" is very useful wh...", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(ProcessingInstruction node with target "somePI" and data "Did you know that \":syn sync fromstart\" is very useful wh...", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass15,16: resulting range position for range [document.head, 1, document.head, 1], node processingInstruction
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(ProcessingInstruction node with target "somePI" and data "Did you know that \":syn sync fromstart\" is very useful wh...", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(ProcessingInstruction node with target "somePI" and data "Did you know that \":syn sync fromstart\" is very useful wh...", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(1, 1, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected head but got head")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-0", "0-1-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass15,17: resulting DOM for range [document.head, 1, document.head, 1], node detachedProcessingInstruction
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(ProcessingInstruction node with target "whippoorwill" and data "chirp chirp chirp", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(ProcessingInstruction node with target "whippoorwill" and data "chirp chirp chirp", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass15,17: resulting range position for range [document.head, 1, document.head, 1], node detachedProcessingInstruction
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(ProcessingInstruction node with target "whippoorwill" and data "chirp chirp chirp", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(ProcessingInstruction node with target "whippoorwill" and data "chirp chirp chirp", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(1, 1, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected head but got head")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-0", "0-1-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass15,18: resulting DOM for range [document.head, 1, document.head, 1], node comment
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Comment node <!--Alphabet soup?-->, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Comment node <!--Alphabet soup?-->, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(1, 1, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass15,18: resulting range position for range [document.head, 1, document.head, 1], node comment
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Comment node <!--Alphabet soup?-->, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Comment node <!--Alphabet soup?-->, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(1, 1, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected head but got head")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-0", "0-1-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass15,19: resulting DOM for range [document.head, 1, document.head, 1], node detachedComment
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Comment node <!--Stuvwxyz-->, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Comment node <!--Stuvwxyz-->, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass15,19: resulting range position for range [document.head, 1, document.head, 1], node detachedComment
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Comment node <!--Stuvwxyz-->, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Comment node <!--Stuvwxyz-->, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(1, 1, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected head but got head")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-0", "0-1-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass15,20: resulting DOM for range [document.head, 1, document.head, 1], node docfrag
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(DocumentFragment node with 0 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(DocumentFragment node with 0 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_NODE_TYPE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_NODE_TYPE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass15,20: resulting range position for range [document.head, 1, document.head, 1], node docfrag
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(DocumentFragment node with 0 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(DocumentFragment node with 0 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(1, 1, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(1, 1, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected head but got head")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-0", "0-1-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass15,21: resulting DOM for range [document.head, 1, document.head, 1], node doctype
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(1, 1, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_NODE_TYPE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_NODE_TYPE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass15,21: resulting range position for range [document.head, 1, document.head, 1], node doctype
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(1, 1, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(1, 1, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected head but got head")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-0", "0-1-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass15,22: resulting DOM for range [document.head, 1, document.head, 1], node foreignDoctype
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_NODE_TYPE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_NODE_TYPE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass15,22: resulting range position for range [document.head, 1, document.head, 1], node foreignDoctype
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(1, 1, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(1, 1, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected head but got head")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-0", "0-1-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass16,0: resulting DOM for range [document.body, 4, document.body, 5], node paras[0]
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object " "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and can be done       // synchronously       rangeEndpoints = eval(window.testRangeInput)...", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object " "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and can be done       // synchronously       rangeEndpoints = eval(window.testRangeInput)...", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(1, 1, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass16,0: resulting range position for range [document.body, 4, document.body, 5], node paras[0]
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object " "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and can be done       // synchronously       rangeEndpoints = eval(window.testRangeInput)...", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object " "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and can be done       // synchronously       rangeEndpoints = eval(window.testRangeInput)...", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Element node <p id="a"><script> "use strict";  // This script only exi..., null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Element node <p id="a"><script> "use strict";  // This script only exi..., null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(4, 4, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(5, 5, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected body but got body")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1", "0-1-1", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass16,1: resulting DOM for range [document.body, 4, document.body, 5], node paras[0].firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object " "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and can be done       // synchronously       rangeEndpoints = eval(window.testRangeInput)...", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object " "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and can be done       // synchronously       rangeEndpoints = eval(window.testRangeInput)...", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(1, 1, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass16,1: resulting range position for range [document.body, 4, document.body, 5], node paras[0].firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(4, 4, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(5, 5, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected body but got body")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1", "0-1-1", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass16,2: resulting DOM for range [document.body, 4, document.body, 5], node paras[1].firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object " "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and can be done       // synchronously       rangeEndpoints = eval(window.testRangeInput)...", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object " "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and can be done       // synchronously       rangeEndpoints = eval(window.testRangeInput)...", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Text node "Ijklmnop ", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Text node "Ijklmnop ", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(1, 1, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass16,2: resulting range position for range [document.body, 4, document.body, 5], node paras[1].firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Ijklmnop ", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Ijklmnop ", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Text node "Ijklmnop ", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Text node "Ijklmnop ", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(4, 4, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(5, 5, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected body but got body")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1", "0-1-1", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass16,3: resulting DOM for range [document.body, 4, document.body, 5], node paras[5].firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object " "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and can be done       // synchronously       rangeEndpoints = eval(window.testRangeInput)...", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object " "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and can be done       // synchronously       rangeEndpoints = eval(window.testRangeInput)...", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Node object of unknown type, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Node object of unknown type, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(1, 1, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass16,3: resulting range position for range [document.body, 4, document.body, 5], node paras[5].firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "1234", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "1234", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Node object of unknown type, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Node object of unknown type, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(4, 4, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(5, 5, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected body but got body")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1", "0-1-1", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass16,4: resulting DOM for range [document.body, 4, document.body, 5], node foreignPara1
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object " "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and can be done       // synchronously       rangeEndpoints = eval(window.testRangeInput)...", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object " "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and can be done       // synchronously       rangeEndpoints = eval(window.testRangeInput)...", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Element node <p>Efghijkl</p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Element node <p>Efghijkl</p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass16,4: resulting range position for range [document.body, 4, document.body, 5], node foreignPara1
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object " "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and can be done       // synchronously       rangeEndpoints = eval(window.testRangeInput)...", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object " "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and can be done       // synchronously       rangeEndpoints = eval(window.testRangeInput)...", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Element node <p><script> "use strict";  // This script only exists bec..., null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Element node <p><script> "use strict";  // This script only exists bec..., null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(4, 4, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(5, 5, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected body but got body")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1", "0-1-1", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass16,5: resulting DOM for range [document.body, 4, document.body, 5], node foreignPara1.firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object " "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and can be done       // synchronously       rangeEndpoints = eval(window.testRangeInput)...", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object " "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and can be done       // synchronously       rangeEndpoints = eval(window.testRangeInput)...", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Text node "Efghijkl", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Text node "Efghijkl", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass16,5: resulting range position for range [document.body, 4, document.body, 5], node foreignPara1.firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Efghijkl", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Efghijkl", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Text node "Efghijkl", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Text node "Efghijkl", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(4, 4, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(5, 5, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected body but got body")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1", "0-1-1", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass16,6: resulting DOM for range [document.body, 4, document.body, 5], node detachedPara1
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object " "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and can be done       // synchronously       rangeEndpoints = eval(window.testRangeInput)...", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object " "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and can be done       // synchronously       rangeEndpoints = eval(window.testRangeInput)...", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Element node <p>Opqrstuv</p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Element node <p>Opqrstuv</p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass16,6: resulting range position for range [document.body, 4, document.body, 5], node detachedPara1
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object " "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and can be done       // synchronously       rangeEndpoints = eval(window.testRangeInput)...", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object " "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and can be done       // synchronously       rangeEndpoints = eval(window.testRangeInput)...", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Element node <p><script> "use strict";  // This script only exists bec..., null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Element node <p><script> "use strict";  // This script only exists bec..., null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(4, 4, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(5, 5, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected body but got body")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1", "0-1-1", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass16,7: resulting DOM for range [document.body, 4, document.body, 5], node detachedPara1.firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object " "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and can be done       // synchronously       rangeEndpoints = eval(window.testRangeInput)...", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object " "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and can be done       // synchronously       rangeEndpoints = eval(window.testRangeInput)...", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Text node "Opqrstuv", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Text node "Opqrstuv", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass16,7: resulting range position for range [document.body, 4, document.body, 5], node detachedPara1.firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Opqrstuv", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Opqrstuv", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Text node "Opqrstuv", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Text node "Opqrstuv", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(4, 4, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(5, 5, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected body but got body")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1", "0-1-1", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass16,8: resulting DOM for range [document.body, 4, document.body, 5], node document
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object " "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and can be done       // synchronously       rangeEndpoints = eval(window.testRangeInput)...", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object " "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and can be done       // synchronously       rangeEndpoints = eval(window.testRangeInput)...", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Document node with 2 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Document node with 2 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(1, 1, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_NODE_TYPE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_NODE_TYPE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass16,8: resulting range position for range [document.body, 4, document.body, 5], node document
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object " "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and can be done       // synchronously       rangeEndpoints = eval(window.testRangeInput)...", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object " "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and can be done       // synchronously       rangeEndpoints = eval(window.testRangeInput)...", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Document node with 2 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Document node with 2 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(4, 4, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(5, 5, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected body but got body")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1", "0-1-1", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass16,9: resulting DOM for range [document.body, 4, document.body, 5], node detachedDiv
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object " "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and can be done       // synchronously       rangeEndpoints = eval(window.testRangeInput)...", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object " "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and can be done       // synchronously       rangeEndpoints = eval(window.testRangeInput)...", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Element node <div><p>Opqrstuv</p><p>Wxyzabcd</p></div>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Element node <div><p>Opqrstuv</p><p>Wxyzabcd</p></div>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass16,9: resulting range position for range [document.body, 4, document.body, 5], node detachedDiv
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object " "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and can be done       // synchronously       rangeEndpoints = eval(window.testRangeInput)...", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object " "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and can be done       // synchronously       rangeEndpoints = eval(window.testRangeInput)...", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Element node <div><script> "use strict";  // This script only exists b..., null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Element node <div><script> "use strict";  // This script only exists b..., null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(4, 4, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(5, 5, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected body but got body")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1", "0-1-1", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass16,10: resulting DOM for range [document.body, 4, document.body, 5], node foreignDoc
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object " "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and can be done       // synchronously       rangeEndpoints = eval(window.testRangeInput)...", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object " "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and can be done       // synchronously       rangeEndpoints = eval(window.testRangeInput)...", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Document node with 3 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Document node with 3 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_NODE_TYPE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_NODE_TYPE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass16,10: resulting range position for range [document.body, 4, document.body, 5], node foreignDoc
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object " "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and can be done       // synchronously       rangeEndpoints = eval(window.testRangeInput)...", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object " "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and can be done       // synchronously       rangeEndpoints = eval(window.testRangeInput)...", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Document node with 3 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Document node with 3 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(4, 4, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(5, 5, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected body but got body")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1", "0-1-1", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass16,11: resulting DOM for range [document.body, 4, document.body, 5], node foreignPara2
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object " "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and can be done       // synchronously       rangeEndpoints = eval(window.testRangeInput)...", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object " "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and can be done       // synchronously       rangeEndpoints = eval(window.testRangeInput)...", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Element node <p>Mnopqrst</p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Element node <p>Mnopqrst</p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass16,11: resulting range position for range [document.body, 4, document.body, 5], node foreignPara2
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object " "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and can be done       // synchronously       rangeEndpoints = eval(window.testRangeInput)...", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object " "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and can be done       // synchronously       rangeEndpoints = eval(window.testRangeInput)...", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Element node <p><script> "use strict";  // This script only exists bec..., null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Element node <p><script> "use strict";  // This script only exists bec..., null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(4, 4, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(5, 5, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected body but got body")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1", "0-1-1", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass16,12: resulting DOM for range [document.body, 4, document.body, 5], node xmlDoc
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object " "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and can be done       // synchronously       rangeEndpoints = eval(window.testRangeInput)...", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object " "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and can be done       // synchronously       rangeEndpoints = eval(window.testRangeInput)...", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Document node with 4 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Document node with 4 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_NODE_TYPE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_NODE_TYPE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass16,12: resulting range position for range [document.body, 4, document.body, 5], node xmlDoc
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object " "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and can be done       // synchronously       rangeEndpoints = eval(window.testRangeInput)...", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object " "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and can be done       // synchronously       rangeEndpoints = eval(window.testRangeInput)...", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Document node with 4 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Document node with 4 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(4, 4, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(5, 5, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected body but got body")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1", "0-1-1", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass16,13: resulting DOM for range [document.body, 4, document.body, 5], node xmlElement
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object " "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and can be done       // synchronously       rangeEndpoints = eval(window.testRangeInput)...", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object " "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and can be done       // synchronously       rangeEndpoints = eval(window.testRangeInput)...", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Element node <igiveuponcreativenames>do re mi fa so la ti</igiveuponcr..., null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Element node <igiveuponcreativenames>do re mi fa so la ti</igiveuponcr..., null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass16,13: resulting range position for range [document.body, 4, document.body, 5], node xmlElement
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object " "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and can be done       // synchronously       rangeEndpoints = eval(window.testRangeInput)...", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object " "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and can be done       // synchronously       rangeEndpoints = eval(window.testRangeInput)...", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Element node <igiveuponcreativenames><script> "use strict";  // This s..., null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Element node <igiveuponcreativenames><script> "use strict";  // This s..., null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(4, 4, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(5, 5, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected body but got body")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1", "0-1-1", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass16,14: resulting DOM for range [document.body, 4, document.body, 5], node detachedTextNode
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object " "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and can be done       // synchronously       rangeEndpoints = eval(window.testRangeInput)...", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object " "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and can be done       // synchronously       rangeEndpoints = eval(window.testRangeInput)...", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Text node "Uvwxyzab", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Text node "Uvwxyzab", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass16,14: resulting range position for range [document.body, 4, document.body, 5], node detachedTextNode
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Uvwxyzab", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Uvwxyzab", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Text node "Uvwxyzab", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Text node "Uvwxyzab", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(4, 4, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(5, 5, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected body but got body")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1", "0-1-1", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass16,15: resulting DOM for range [document.body, 4, document.body, 5], node foreignTextNode
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object " "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and can be done       // synchronously       rangeEndpoints = eval(window.testRangeInput)...", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object " "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and can be done       // synchronously       rangeEndpoints = eval(window.testRangeInput)...", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Text node "I admit that I harbor doubts about whether we really need...", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Text node "I admit that I harbor doubts about whether we really need...", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass16,15: resulting range position for range [document.body, 4, document.body, 5], node foreignTextNode
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "I admit that I harbor doubts about whether we really need so many things to test, but it's too late to stop now.", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "I admit that I harbor doubts about whether we really need so many things to test, but it's too late to stop now.", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Text node "I admit that I harbor doubts about whether we really need...", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Text node "I admit that I harbor doubts about whether we really need...", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(4, 4, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(5, 5, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected body but got body")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1", "0-1-1", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass16,16: resulting DOM for range [document.body, 4, document.body, 5], node processingInstruction
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object " "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and can be done       // synchronously       rangeEndpoints = eval(window.testRangeInput)...", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object " "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and can be done       // synchronously       rangeEndpoints = eval(window.testRangeInput)...", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(ProcessingInstruction node with target "somePI" and data "Did you know that \":syn sync fromstart\" is very useful wh...", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(ProcessingInstruction node with target "somePI" and data "Did you know that \":syn sync fromstart\" is very useful wh...", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass16,16: resulting range position for range [document.body, 4, document.body, 5], node processingInstruction
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(ProcessingInstruction node with target "somePI" and data "Did you know that \":syn sync fromstart\" is very useful wh...", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(ProcessingInstruction node with target "somePI" and data "Did you know that \":syn sync fromstart\" is very useful wh...", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(4, 4, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(5, 5, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected body but got body")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1", "0-1-1", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass16,17: resulting DOM for range [document.body, 4, document.body, 5], node detachedProcessingInstruction
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object " "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and can be done       // synchronously       rangeEndpoints = eval(window.testRangeInput)...", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object " "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and can be done       // synchronously       rangeEndpoints = eval(window.testRangeInput)...", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(ProcessingInstruction node with target "whippoorwill" and data "chirp chirp chirp", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(ProcessingInstruction node with target "whippoorwill" and data "chirp chirp chirp", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass16,17: resulting range position for range [document.body, 4, document.body, 5], node detachedProcessingInstruction
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(ProcessingInstruction node with target "whippoorwill" and data "chirp chirp chirp", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(ProcessingInstruction node with target "whippoorwill" and data "chirp chirp chirp", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(4, 4, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(5, 5, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected body but got body")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1", "0-1-1", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass16,18: resulting DOM for range [document.body, 4, document.body, 5], node comment
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object " "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and can be done       // synchronously       rangeEndpoints = eval(window.testRangeInput)...", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object " "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and can be done       // synchronously       rangeEndpoints = eval(window.testRangeInput)...", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Comment node <!--Alphabet soup?-->, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Comment node <!--Alphabet soup?-->, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(1, 1, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass16,18: resulting range position for range [document.body, 4, document.body, 5], node comment
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Comment node <!--Alphabet soup?-->, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Comment node <!--Alphabet soup?-->, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(4, 4, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(5, 5, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected body but got body")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1", "0-1-1", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass16,19: resulting DOM for range [document.body, 4, document.body, 5], node detachedComment
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object " "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and can be done       // synchronously       rangeEndpoints = eval(window.testRangeInput)...", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object " "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and can be done       // synchronously       rangeEndpoints = eval(window.testRangeInput)...", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Comment node <!--Stuvwxyz-->, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Comment node <!--Stuvwxyz-->, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass16,19: resulting range position for range [document.body, 4, document.body, 5], node detachedComment
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Comment node <!--Stuvwxyz-->, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Comment node <!--Stuvwxyz-->, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(4, 4, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(5, 5, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected body but got body")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1", "0-1-1", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass16,20: resulting DOM for range [document.body, 4, document.body, 5], node docfrag
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object " "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and can be done       // synchronously       rangeEndpoints = eval(window.testRangeInput)...", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object " "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and can be done       // synchronously       rangeEndpoints = eval(window.testRangeInput)...", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(DocumentFragment node with 0 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(DocumentFragment node with 0 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_NODE_TYPE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_NODE_TYPE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass16,20: resulting range position for range [document.body, 4, document.body, 5], node docfrag
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object " "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and can be done       // synchronously       rangeEndpoints = eval(window.testRangeInput)...", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object " "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and can be done       // synchronously       rangeEndpoints = eval(window.testRangeInput)...", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(DocumentFragment node with 0 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(DocumentFragment node with 0 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(4, 4, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(5, 5, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected body but got body")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1", "0-1-1", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass16,21: resulting DOM for range [document.body, 4, document.body, 5], node doctype
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object " "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and can be done       // synchronously       rangeEndpoints = eval(window.testRangeInput)...", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object " "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and can be done       // synchronously       rangeEndpoints = eval(window.testRangeInput)...", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(1, 1, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_NODE_TYPE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_NODE_TYPE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass16,21: resulting range position for range [document.body, 4, document.body, 5], node doctype
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object " "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and can be done       // synchronously       rangeEndpoints = eval(window.testRangeInput)...", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object " "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and can be done       // synchronously       rangeEndpoints = eval(window.testRangeInput)...", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(4, 4, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(5, 5, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected body but got body")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1", "0-1-1", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass16,22: resulting DOM for range [document.body, 4, document.body, 5], node foreignDoctype
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object " "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and can be done       // synchronously       rangeEndpoints = eval(window.testRangeInput)...", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object " "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and can be done       // synchronously       rangeEndpoints = eval(window.testRangeInput)...", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_NODE_TYPE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_NODE_TYPE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass16,22: resulting range position for range [document.body, 4, document.body, 5], node foreignDoctype
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object " "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and can be done       // synchronously       rangeEndpoints = eval(window.testRangeInput)...", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object " "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and can be done       // synchronously       rangeEndpoints = eval(window.testRangeInput)...", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(4, 4, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(5, 5, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected body but got body")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1", "0-1-1", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass17,0: resulting DOM for range [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], node paras[0]
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass17,0: resulting range position for range [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], node paras[0]
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Element node <p id="a"><head><title></title></head></p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Element node <p id="a"><head><title></title></head></p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(1, 1, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected html but got html")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1", "0-1", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass17,1: resulting DOM for range [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], node paras[0].firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass17,1: resulting range position for range [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], node paras[0].firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(1, 1, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected html but got html")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1", "0-1", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass17,2: resulting DOM for range [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], node paras[1].firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Text node "Ijklmnop ", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Text node "Ijklmnop ", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass17,2: resulting range position for range [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], node paras[1].firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Ijklmnop ", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Ijklmnop ", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Text node "Ijklmnop ", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Text node "Ijklmnop ", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(1, 1, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected html but got html")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1", "0-1", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass17,3: resulting DOM for range [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], node paras[5].firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Node object of unknown type, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Node object of unknown type, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass17,3: resulting range position for range [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], node paras[5].firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "1234", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "1234", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Node object of unknown type, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Node object of unknown type, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(1, 1, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected html but got html")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1", "0-1", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass17,4: resulting DOM for range [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], node foreignPara1
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Element node <p>Efghijkl</p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Element node <p>Efghijkl</p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(1, 1, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass17,4: resulting range position for range [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], node foreignPara1
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Element node <p><head><title></title></head></p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Element node <p><head><title></title></head></p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(1, 1, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected html but got html")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1", "0-1", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass17,5: resulting DOM for range [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], node foreignPara1.firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Text node "Efghijkl", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Text node "Efghijkl", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(1, 1, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass17,5: resulting range position for range [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], node foreignPara1.firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Efghijkl", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Efghijkl", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Text node "Efghijkl", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Text node "Efghijkl", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(1, 1, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected html but got html")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1", "0-1", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass17,6: resulting DOM for range [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], node detachedPara1
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Element node <p>Opqrstuv</p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Element node <p>Opqrstuv</p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass17,6: resulting range position for range [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], node detachedPara1
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Element node <p><head><title></title></head></p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Element node <p><head><title></title></head></p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(1, 1, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected html but got html")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1", "0-1", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass17,7: resulting DOM for range [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], node detachedPara1.firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Text node "Opqrstuv", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Text node "Opqrstuv", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass17,7: resulting range position for range [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], node detachedPara1.firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Opqrstuv", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Opqrstuv", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Text node "Opqrstuv", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Text node "Opqrstuv", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(1, 1, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected html but got html")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1", "0-1", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass17,8: resulting DOM for range [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], node document
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Document node with 2 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Document node with 2 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_NODE_TYPE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_NODE_TYPE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass17,8: resulting range position for range [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], node document
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Document node with 2 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Document node with 2 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(1, 1, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected html but got html")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1", "0-1", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass17,9: resulting DOM for range [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], node detachedDiv
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Element node <div><p>Opqrstuv</p><p>Wxyzabcd</p></div>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Element node <div><p>Opqrstuv</p><p>Wxyzabcd</p></div>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass17,9: resulting range position for range [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], node detachedDiv
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Element node <div><head><title></title></head></div>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Element node <div><head><title></title></head></div>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(1, 1, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected html but got html")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1", "0-1", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass17,10: resulting DOM for range [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], node foreignDoc
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Document node with 3 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Document node with 3 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(1, 1, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_NODE_TYPE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_NODE_TYPE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass17,10: resulting range position for range [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], node foreignDoc
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Document node with 3 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Document node with 3 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(1, 1, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected html but got html")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1", "0-1", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass17,11: resulting DOM for range [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], node foreignPara2
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Element node <p>Mnopqrst</p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Element node <p>Mnopqrst</p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(1, 1, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass17,11: resulting range position for range [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], node foreignPara2
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Element node <p><head><title></title></head></p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Element node <p><head><title></title></head></p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(1, 1, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected html but got html")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1", "0-1", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass17,12: resulting DOM for range [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], node xmlDoc
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Document node with 4 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Document node with 4 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_NODE_TYPE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_NODE_TYPE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass17,12: resulting range position for range [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], node xmlDoc
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Document node with 4 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Document node with 4 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(1, 1, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected html but got html")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1", "0-1", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass17,13: resulting DOM for range [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], node xmlElement
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Element node <igiveuponcreativenames>do re mi fa so la ti</igiveuponcr..., null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Element node <igiveuponcreativenames>do re mi fa so la ti</igiveuponcr..., null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass17,13: resulting range position for range [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], node xmlElement
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Element node <igiveuponcreativenames><head><title></title></head></igi..., null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Element node <igiveuponcreativenames><head><title></title></head></igi..., null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(1, 1, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected html but got html")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1", "0-1", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass17,14: resulting DOM for range [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], node detachedTextNode
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Text node "Uvwxyzab", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Text node "Uvwxyzab", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass17,14: resulting range position for range [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], node detachedTextNode
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Uvwxyzab", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Uvwxyzab", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Text node "Uvwxyzab", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Text node "Uvwxyzab", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(1, 1, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected html but got html")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1", "0-1", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass17,15: resulting DOM for range [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], node foreignTextNode
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Text node "I admit that I harbor doubts about whether we really need...", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Text node "I admit that I harbor doubts about whether we really need...", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(1, 1, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass17,15: resulting range position for range [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], node foreignTextNode
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "I admit that I harbor doubts about whether we really need so many things to test, but it's too late to stop now.", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "I admit that I harbor doubts about whether we really need so many things to test, but it's too late to stop now.", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Text node "I admit that I harbor doubts about whether we really need...", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Text node "I admit that I harbor doubts about whether we really need...", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(1, 1, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected html but got html")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1", "0-1", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass17,16: resulting DOM for range [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], node processingInstruction
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(ProcessingInstruction node with target "somePI" and data "Did you know that \":syn sync fromstart\" is very useful wh...", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(ProcessingInstruction node with target "somePI" and data "Did you know that \":syn sync fromstart\" is very useful wh...", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass17,16: resulting range position for range [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], node processingInstruction
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(ProcessingInstruction node with target "somePI" and data "Did you know that \":syn sync fromstart\" is very useful wh...", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(ProcessingInstruction node with target "somePI" and data "Did you know that \":syn sync fromstart\" is very useful wh...", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(1, 1, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected html but got html")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1", "0-1", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass17,17: resulting DOM for range [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], node detachedProcessingInstruction
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(ProcessingInstruction node with target "whippoorwill" and data "chirp chirp chirp", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(ProcessingInstruction node with target "whippoorwill" and data "chirp chirp chirp", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass17,17: resulting range position for range [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], node detachedProcessingInstruction
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(ProcessingInstruction node with target "whippoorwill" and data "chirp chirp chirp", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(ProcessingInstruction node with target "whippoorwill" and data "chirp chirp chirp", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(1, 1, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected html but got html")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1", "0-1", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass17,18: resulting DOM for range [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], node comment
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Comment node <!--Alphabet soup?-->, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Comment node <!--Alphabet soup?-->, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass17,18: resulting range position for range [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], node comment
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Comment node <!--Alphabet soup?-->, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Comment node <!--Alphabet soup?-->, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(1, 1, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected html but got html")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1", "0-1", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass17,19: resulting DOM for range [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], node detachedComment
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Comment node <!--Stuvwxyz-->, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Comment node <!--Stuvwxyz-->, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass17,19: resulting range position for range [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], node detachedComment
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Comment node <!--Stuvwxyz-->, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Comment node <!--Stuvwxyz-->, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(1, 1, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected html but got html")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1", "0-1", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass17,20: resulting DOM for range [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], node docfrag
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(DocumentFragment node with 0 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(DocumentFragment node with 0 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_NODE_TYPE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_NODE_TYPE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass17,20: resulting range position for range [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], node docfrag
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(DocumentFragment node with 0 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(DocumentFragment node with 0 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(1, 1, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected html but got html")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1", "0-1", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass17,21: resulting DOM for range [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], node doctype
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_NODE_TYPE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_NODE_TYPE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass17,21: resulting range position for range [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], node doctype
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(1, 1, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected html but got html")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1", "0-1", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass17,22: resulting DOM for range [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], node foreignDoctype
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(1, 1, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_NODE_TYPE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_NODE_TYPE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass17,22: resulting range position for range [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], node foreignDoctype
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(1, 1, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected html but got html")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1", "0-1", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass18,0: resulting DOM for range [paras[0], 0, paras[0], 1], node paras[0]
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(1, 1, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass18,0: resulting range position for range [paras[0], 0, paras[0], 1], node paras[0]
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Element node <p id="a"></p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Element node <p id="a"></p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(0, 0, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected p but got p")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-0", "0-1-1-0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass18,1: resulting DOM for range [paras[0], 0, paras[0], 1], node paras[0].firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(1, 1, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass18,1: resulting range position for range [paras[0], 0, paras[0], 1], node paras[0].firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(1, 1, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected p but got p")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-0", "0-1-1-0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass18,2: resulting DOM for range [paras[0], 0, paras[0], 1], node paras[1].firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Text node "Ijklmnop ", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Text node "Ijklmnop ", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(1, 1, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass18,2: resulting range position for range [paras[0], 0, paras[0], 1], node paras[1].firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Ijklmnop ", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Ijklmnop ", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Text node "Ijklmnop ", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Text node "Ijklmnop ", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(1, 1, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected p but got p")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-0", "0-1-1-0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass18,3: resulting DOM for range [paras[0], 0, paras[0], 1], node paras[5].firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Node object of unknown type, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Node object of unknown type, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(1, 1, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass18,3: resulting range position for range [paras[0], 0, paras[0], 1], node paras[5].firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "1234", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "1234", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Node object of unknown type, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Node object of unknown type, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(1, 1, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected p but got p")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-0", "0-1-1-0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass18,4: resulting DOM for range [paras[0], 0, paras[0], 1], node foreignPara1
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Element node <p>Efghijkl</p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Element node <p>Efghijkl</p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass18,4: resulting range position for range [paras[0], 0, paras[0], 1], node foreignPara1
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Element node <p>Äb̈c̈d̈ëf̈g̈ḧ </p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Element node <p>Äb̈c̈d̈ëf̈g̈ḧ </p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(1, 1, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected p but got p")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-0", "0-1-1-0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass18,5: resulting DOM for range [paras[0], 0, paras[0], 1], node foreignPara1.firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Text node "Efghijkl", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Text node "Efghijkl", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass18,5: resulting range position for range [paras[0], 0, paras[0], 1], node foreignPara1.firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Efghijkl", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Efghijkl", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Text node "Efghijkl", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Text node "Efghijkl", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(1, 1, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected p but got p")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-0", "0-1-1-0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass18,6: resulting DOM for range [paras[0], 0, paras[0], 1], node detachedPara1
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Element node <p>Opqrstuv</p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Element node <p>Opqrstuv</p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass18,6: resulting range position for range [paras[0], 0, paras[0], 1], node detachedPara1
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Element node <p>Äb̈c̈d̈ëf̈g̈ḧ </p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Element node <p>Äb̈c̈d̈ëf̈g̈ḧ </p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(1, 1, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected p but got p")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-0", "0-1-1-0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass18,7: resulting DOM for range [paras[0], 0, paras[0], 1], node detachedPara1.firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Text node "Opqrstuv", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Text node "Opqrstuv", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass18,7: resulting range position for range [paras[0], 0, paras[0], 1], node detachedPara1.firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Opqrstuv", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Opqrstuv", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Text node "Opqrstuv", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Text node "Opqrstuv", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(1, 1, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected p but got p")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-0", "0-1-1-0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass18,8: resulting DOM for range [paras[0], 0, paras[0], 1], node document
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Document node with 2 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Document node with 2 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(1, 1, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_NODE_TYPE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_NODE_TYPE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass18,8: resulting range position for range [paras[0], 0, paras[0], 1], node document
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Document node with 2 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Document node with 2 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(1, 1, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected p but got p")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-0", "0-1-1-0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass18,9: resulting DOM for range [paras[0], 0, paras[0], 1], node detachedDiv
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Element node <div><p>Opqrstuv</p><p>Wxyzabcd</p></div>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Element node <div><p>Opqrstuv</p><p>Wxyzabcd</p></div>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass18,9: resulting range position for range [paras[0], 0, paras[0], 1], node detachedDiv
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Element node <div>Äb̈c̈d̈ëf̈g̈ḧ </div>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Element node <div>Äb̈c̈d̈ëf̈g̈ḧ </div>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(1, 1, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected p but got p")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-0", "0-1-1-0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass18,10: resulting DOM for range [paras[0], 0, paras[0], 1], node foreignDoc
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Document node with 3 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Document node with 3 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_NODE_TYPE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_NODE_TYPE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass18,10: resulting range position for range [paras[0], 0, paras[0], 1], node foreignDoc
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Document node with 3 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Document node with 3 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(1, 1, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected p but got p")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-0", "0-1-1-0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass18,11: resulting DOM for range [paras[0], 0, paras[0], 1], node foreignPara2
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Element node <p>Mnopqrst</p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Element node <p>Mnopqrst</p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass18,11: resulting range position for range [paras[0], 0, paras[0], 1], node foreignPara2
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Element node <p>Äb̈c̈d̈ëf̈g̈ḧ </p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Element node <p>Äb̈c̈d̈ëf̈g̈ḧ </p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(1, 1, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected p but got p")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-0", "0-1-1-0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass18,12: resulting DOM for range [paras[0], 0, paras[0], 1], node xmlDoc
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Document node with 4 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Document node with 4 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_NODE_TYPE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_NODE_TYPE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass18,12: resulting range position for range [paras[0], 0, paras[0], 1], node xmlDoc
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Document node with 4 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Document node with 4 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(1, 1, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected p but got p")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-0", "0-1-1-0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass18,13: resulting DOM for range [paras[0], 0, paras[0], 1], node xmlElement
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Element node <igiveuponcreativenames>do re mi fa so la ti</igiveuponcr..., null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Element node <igiveuponcreativenames>do re mi fa so la ti</igiveuponcr..., null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass18,13: resulting range position for range [paras[0], 0, paras[0], 1], node xmlElement
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Element node <igiveuponcreativenames>Äb̈c̈d̈ëf̈g̈ḧ </igiveuponcreat..., null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Element node <igiveuponcreativenames>Äb̈c̈d̈ëf̈g̈ḧ </igiveuponcreat..., null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(1, 1, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected p but got p")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-0", "0-1-1-0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass18,14: resulting DOM for range [paras[0], 0, paras[0], 1], node detachedTextNode
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Text node "Uvwxyzab", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Text node "Uvwxyzab", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass18,14: resulting range position for range [paras[0], 0, paras[0], 1], node detachedTextNode
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Uvwxyzab", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Uvwxyzab", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Text node "Uvwxyzab", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Text node "Uvwxyzab", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(1, 1, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected p but got p")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-0", "0-1-1-0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass18,15: resulting DOM for range [paras[0], 0, paras[0], 1], node foreignTextNode
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Text node "I admit that I harbor doubts about whether we really need...", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Text node "I admit that I harbor doubts about whether we really need...", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass18,15: resulting range position for range [paras[0], 0, paras[0], 1], node foreignTextNode
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "I admit that I harbor doubts about whether we really need so many things to test, but it's too late to stop now.", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "I admit that I harbor doubts about whether we really need so many things to test, but it's too late to stop now.", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Text node "I admit that I harbor doubts about whether we really need...", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Text node "I admit that I harbor doubts about whether we really need...", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(1, 1, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected p but got p")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-0", "0-1-1-0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass18,16: resulting DOM for range [paras[0], 0, paras[0], 1], node processingInstruction
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(ProcessingInstruction node with target "somePI" and data "Did you know that \":syn sync fromstart\" is very useful wh...", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(ProcessingInstruction node with target "somePI" and data "Did you know that \":syn sync fromstart\" is very useful wh...", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass18,16: resulting range position for range [paras[0], 0, paras[0], 1], node processingInstruction
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(ProcessingInstruction node with target "somePI" and data "Did you know that \":syn sync fromstart\" is very useful wh...", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(ProcessingInstruction node with target "somePI" and data "Did you know that \":syn sync fromstart\" is very useful wh...", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(1, 1, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected p but got p")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-0", "0-1-1-0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass18,17: resulting DOM for range [paras[0], 0, paras[0], 1], node detachedProcessingInstruction
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(ProcessingInstruction node with target "whippoorwill" and data "chirp chirp chirp", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(ProcessingInstruction node with target "whippoorwill" and data "chirp chirp chirp", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass18,17: resulting range position for range [paras[0], 0, paras[0], 1], node detachedProcessingInstruction
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(ProcessingInstruction node with target "whippoorwill" and data "chirp chirp chirp", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(ProcessingInstruction node with target "whippoorwill" and data "chirp chirp chirp", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(1, 1, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected p but got p")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-0", "0-1-1-0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass18,18: resulting DOM for range [paras[0], 0, paras[0], 1], node comment
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Comment node <!--Alphabet soup?-->, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Comment node <!--Alphabet soup?-->, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(1, 1, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass18,18: resulting range position for range [paras[0], 0, paras[0], 1], node comment
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Comment node <!--Alphabet soup?-->, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Comment node <!--Alphabet soup?-->, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(1, 1, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected p but got p")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-0", "0-1-1-0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass18,19: resulting DOM for range [paras[0], 0, paras[0], 1], node detachedComment
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Comment node <!--Stuvwxyz-->, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Comment node <!--Stuvwxyz-->, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass18,19: resulting range position for range [paras[0], 0, paras[0], 1], node detachedComment
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Comment node <!--Stuvwxyz-->, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Comment node <!--Stuvwxyz-->, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(1, 1, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected p but got p")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-0", "0-1-1-0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass18,20: resulting DOM for range [paras[0], 0, paras[0], 1], node docfrag
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(DocumentFragment node with 0 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(DocumentFragment node with 0 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_NODE_TYPE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_NODE_TYPE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass18,20: resulting range position for range [paras[0], 0, paras[0], 1], node docfrag
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(DocumentFragment node with 0 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(DocumentFragment node with 0 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(1, 1, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected p but got p")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-0", "0-1-1-0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass18,21: resulting DOM for range [paras[0], 0, paras[0], 1], node doctype
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(1, 1, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_NODE_TYPE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_NODE_TYPE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass18,21: resulting range position for range [paras[0], 0, paras[0], 1], node doctype
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(1, 1, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected p but got p")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-0", "0-1-1-0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass18,22: resulting DOM for range [paras[0], 0, paras[0], 1], node foreignDoctype
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_NODE_TYPE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_NODE_TYPE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass18,22: resulting range position for range [paras[0], 0, paras[0], 1], node foreignDoctype
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(1, 1, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected p but got p")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-0", "0-1-1-0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass19,0: resulting DOM for range [detachedPara1, 0, detachedPara1, 1], node paras[0]
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Opqrstuv", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Opqrstuv", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass19,0: resulting range position for range [detachedPara1, 0, detachedPara1, 1], node paras[0]
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Opqrstuv", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Opqrstuv", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Element node <p id="a">Opqrstuv</p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Element node <p id="a">Opqrstuv</p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(1, 1, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected p but got p")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-0", "0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass19,1: resulting DOM for range [detachedPara1, 0, detachedPara1, 1], node paras[0].firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Opqrstuv", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Opqrstuv", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass19,1: resulting range position for range [detachedPara1, 0, detachedPara1, 1], node paras[0].firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(1, 1, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected p but got p")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-0", "0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass19,2: resulting DOM for range [detachedPara1, 0, detachedPara1, 1], node paras[1].firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Opqrstuv", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Opqrstuv", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Text node "Ijklmnop ", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Text node "Ijklmnop ", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass19,2: resulting range position for range [detachedPara1, 0, detachedPara1, 1], node paras[1].firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Ijklmnop ", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Ijklmnop ", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Text node "Ijklmnop ", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Text node "Ijklmnop ", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(1, 1, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected p but got p")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-0", "0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass19,3: resulting DOM for range [detachedPara1, 0, detachedPara1, 1], node paras[5].firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Opqrstuv", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Opqrstuv", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Node object of unknown type, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Node object of unknown type, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass19,3: resulting range position for range [detachedPara1, 0, detachedPara1, 1], node paras[5].firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "1234", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "1234", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Node object of unknown type, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Node object of unknown type, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(1, 1, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected p but got p")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-0", "0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass19,4: resulting DOM for range [detachedPara1, 0, detachedPara1, 1], node foreignPara1
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Opqrstuv", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Opqrstuv", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Element node <p>Efghijkl</p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Element node <p>Efghijkl</p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass19,4: resulting range position for range [detachedPara1, 0, detachedPara1, 1], node foreignPara1
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Opqrstuv", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Opqrstuv", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Element node <p>Opqrstuv</p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Element node <p>Opqrstuv</p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(1, 1, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected p but got p")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-0", "0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass19,5: resulting DOM for range [detachedPara1, 0, detachedPara1, 1], node foreignPara1.firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Opqrstuv", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Opqrstuv", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Text node "Efghijkl", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Text node "Efghijkl", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass19,5: resulting range position for range [detachedPara1, 0, detachedPara1, 1], node foreignPara1.firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Efghijkl", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Efghijkl", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Text node "Efghijkl", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Text node "Efghijkl", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(1, 1, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected p but got p")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-0", "0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass19,6: resulting DOM for range [detachedPara1, 0, detachedPara1, 1], node detachedPara1
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Opqrstuv", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Opqrstuv", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Element node <p>Opqrstuv</p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Element node <p>Opqrstuv</p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(1, 1, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass19,6: resulting range position for range [detachedPara1, 0, detachedPara1, 1], node detachedPara1
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Element node <p></p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Element node <p></p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(0, 0, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected p but got p")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-0", "0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass19,7: resulting DOM for range [detachedPara1, 0, detachedPara1, 1], node detachedPara1.firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Opqrstuv", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Opqrstuv", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Text node "Opqrstuv", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Text node "Opqrstuv", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(1, 1, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass19,7: resulting range position for range [detachedPara1, 0, detachedPara1, 1], node detachedPara1.firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Opqrstuv", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Opqrstuv", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Text node "Opqrstuv", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Text node "Opqrstuv", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(1, 1, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected p but got p")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-0", "0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass19,8: resulting DOM for range [detachedPara1, 0, detachedPara1, 1], node document
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Opqrstuv", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Opqrstuv", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Document node with 2 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Document node with 2 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_NODE_TYPE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_NODE_TYPE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass19,8: resulting range position for range [detachedPara1, 0, detachedPara1, 1], node document
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Opqrstuv", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Opqrstuv", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Document node with 2 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Document node with 2 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(1, 1, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected p but got p")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-0", "0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass19,9: resulting DOM for range [detachedPara1, 0, detachedPara1, 1], node detachedDiv
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Opqrstuv", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Opqrstuv", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Element node <div><p>Opqrstuv</p><p>Wxyzabcd</p></div>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Element node <div><p>Opqrstuv</p><p>Wxyzabcd</p></div>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(1, 1, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass19,9: resulting range position for range [detachedPara1, 0, detachedPara1, 1], node detachedDiv
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Element node <div></div>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Element node <div></div>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(0, 0, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected div but got div")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0", "0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass19,10: resulting DOM for range [detachedPara1, 0, detachedPara1, 1], node foreignDoc
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Opqrstuv", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Opqrstuv", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Document node with 3 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Document node with 3 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_NODE_TYPE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_NODE_TYPE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass19,10: resulting range position for range [detachedPara1, 0, detachedPara1, 1], node foreignDoc
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Opqrstuv", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Opqrstuv", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Document node with 3 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Document node with 3 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(1, 1, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected p but got p")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-0", "0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass19,11: resulting DOM for range [detachedPara1, 0, detachedPara1, 1], node foreignPara2
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Opqrstuv", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Opqrstuv", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Element node <p>Mnopqrst</p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Element node <p>Mnopqrst</p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass19,11: resulting range position for range [detachedPara1, 0, detachedPara1, 1], node foreignPara2
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Opqrstuv", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Opqrstuv", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Element node <p>Opqrstuv</p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Element node <p>Opqrstuv</p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(1, 1, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected p but got p")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-0", "0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass19,12: resulting DOM for range [detachedPara1, 0, detachedPara1, 1], node xmlDoc
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Opqrstuv", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Opqrstuv", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Document node with 4 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Document node with 4 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_NODE_TYPE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_NODE_TYPE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass19,12: resulting range position for range [detachedPara1, 0, detachedPara1, 1], node xmlDoc
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Opqrstuv", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Opqrstuv", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Document node with 4 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Document node with 4 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(1, 1, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected p but got p")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-0", "0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass19,13: resulting DOM for range [detachedPara1, 0, detachedPara1, 1], node xmlElement
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Opqrstuv", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Opqrstuv", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Element node <igiveuponcreativenames>do re mi fa so la ti</igiveuponcr..., null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Element node <igiveuponcreativenames>do re mi fa so la ti</igiveuponcr..., null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass19,13: resulting range position for range [detachedPara1, 0, detachedPara1, 1], node xmlElement
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Opqrstuv", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Opqrstuv", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Element node <igiveuponcreativenames>Opqrstuv</igiveuponcreativenames>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Element node <igiveuponcreativenames>Opqrstuv</igiveuponcreativenames>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(1, 1, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected p but got p")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-0", "0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass19,14: resulting DOM for range [detachedPara1, 0, detachedPara1, 1], node detachedTextNode
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Opqrstuv", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Opqrstuv", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Text node "Uvwxyzab", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Text node "Uvwxyzab", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass19,14: resulting range position for range [detachedPara1, 0, detachedPara1, 1], node detachedTextNode
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Uvwxyzab", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Uvwxyzab", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Text node "Uvwxyzab", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Text node "Uvwxyzab", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(1, 1, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected p but got p")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-0", "0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass19,15: resulting DOM for range [detachedPara1, 0, detachedPara1, 1], node foreignTextNode
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Opqrstuv", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Opqrstuv", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Text node "I admit that I harbor doubts about whether we really need...", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Text node "I admit that I harbor doubts about whether we really need...", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass19,15: resulting range position for range [detachedPara1, 0, detachedPara1, 1], node foreignTextNode
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "I admit that I harbor doubts about whether we really need so many things to test, but it's too late to stop now.", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "I admit that I harbor doubts about whether we really need so many things to test, but it's too late to stop now.", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Text node "I admit that I harbor doubts about whether we really need...", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Text node "I admit that I harbor doubts about whether we really need...", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(1, 1, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected p but got p")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-0", "0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass19,16: resulting DOM for range [detachedPara1, 0, detachedPara1, 1], node processingInstruction
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Opqrstuv", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Opqrstuv", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(ProcessingInstruction node with target "somePI" and data "Did you know that \":syn sync fromstart\" is very useful wh...", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(ProcessingInstruction node with target "somePI" and data "Did you know that \":syn sync fromstart\" is very useful wh...", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass19,16: resulting range position for range [detachedPara1, 0, detachedPara1, 1], node processingInstruction
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(ProcessingInstruction node with target "somePI" and data "Did you know that \":syn sync fromstart\" is very useful wh...", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(ProcessingInstruction node with target "somePI" and data "Did you know that \":syn sync fromstart\" is very useful wh...", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(1, 1, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected p but got p")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-0", "0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass19,17: resulting DOM for range [detachedPara1, 0, detachedPara1, 1], node detachedProcessingInstruction
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Opqrstuv", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Opqrstuv", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(ProcessingInstruction node with target "whippoorwill" and data "chirp chirp chirp", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(ProcessingInstruction node with target "whippoorwill" and data "chirp chirp chirp", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass19,17: resulting range position for range [detachedPara1, 0, detachedPara1, 1], node detachedProcessingInstruction
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(ProcessingInstruction node with target "whippoorwill" and data "chirp chirp chirp", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(ProcessingInstruction node with target "whippoorwill" and data "chirp chirp chirp", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(1, 1, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected p but got p")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-0", "0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass19,18: resulting DOM for range [detachedPara1, 0, detachedPara1, 1], node comment
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Opqrstuv", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Opqrstuv", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Comment node <!--Alphabet soup?-->, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Comment node <!--Alphabet soup?-->, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass19,18: resulting range position for range [detachedPara1, 0, detachedPara1, 1], node comment
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Comment node <!--Alphabet soup?-->, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Comment node <!--Alphabet soup?-->, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(1, 1, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected p but got p")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-0", "0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass19,19: resulting DOM for range [detachedPara1, 0, detachedPara1, 1], node detachedComment
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Opqrstuv", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Opqrstuv", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Comment node <!--Stuvwxyz-->, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Comment node <!--Stuvwxyz-->, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass19,19: resulting range position for range [detachedPara1, 0, detachedPara1, 1], node detachedComment
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Comment node <!--Stuvwxyz-->, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Comment node <!--Stuvwxyz-->, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(1, 1, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected p but got p")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-0", "0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass19,20: resulting DOM for range [detachedPara1, 0, detachedPara1, 1], node docfrag
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Opqrstuv", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Opqrstuv", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(DocumentFragment node with 0 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(DocumentFragment node with 0 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_NODE_TYPE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_NODE_TYPE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass19,20: resulting range position for range [detachedPara1, 0, detachedPara1, 1], node docfrag
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Opqrstuv", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Opqrstuv", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(DocumentFragment node with 0 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(DocumentFragment node with 0 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(1, 1, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected p but got p")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-0", "0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass19,21: resulting DOM for range [detachedPara1, 0, detachedPara1, 1], node doctype
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Opqrstuv", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Opqrstuv", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_NODE_TYPE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_NODE_TYPE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass19,21: resulting range position for range [detachedPara1, 0, detachedPara1, 1], node doctype
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Opqrstuv", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Opqrstuv", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(1, 1, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected p but got p")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-0", "0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass19,22: resulting DOM for range [detachedPara1, 0, detachedPara1, 1], node foreignDoctype
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Opqrstuv", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Opqrstuv", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_NODE_TYPE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_NODE_TYPE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass19,22: resulting range position for range [detachedPara1, 0, detachedPara1, 1], node foreignDoctype
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Opqrstuv", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Opqrstuv", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(1, 1, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected p but got p")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-0", "0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass20,0: resulting DOM for range [paras[0].firstChild, 0, paras[1].firstChild, 0], node paras[0]
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(1, 1, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_STATE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_STATE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass20,0: resulting range position for range [paras[0].firstChild, 0, paras[1].firstChild, 0], node paras[0]
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(0, 0, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-0-0", "0-1-1-0-0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass20,1: resulting DOM for range [paras[0].firstChild, 0, paras[1].firstChild, 0], node paras[0].firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(1, 1, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_STATE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_STATE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass20,1: resulting range position for range [paras[0].firstChild, 0, paras[1].firstChild, 0], node paras[0].firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(0, 0, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-0-0", "0-1-1-0-0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass20,2: resulting DOM for range [paras[0].firstChild, 0, paras[1].firstChild, 0], node paras[1].firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Text node "Ijklmnop ", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Text node "Ijklmnop ", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(1, 1, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_STATE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_STATE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass20,2: resulting range position for range [paras[0].firstChild, 0, paras[1].firstChild, 0], node paras[1].firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Text node "Ijklmnop ", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Text node "Ijklmnop ", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(0, 0, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-0-0", "0-1-1-0-0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass20,3: resulting DOM for range [paras[0].firstChild, 0, paras[1].firstChild, 0], node paras[5].firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Node object of unknown type, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Node object of unknown type, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(1, 1, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_STATE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_STATE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass20,3: resulting range position for range [paras[0].firstChild, 0, paras[1].firstChild, 0], node paras[5].firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Node object of unknown type, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Node object of unknown type, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(0, 0, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-0-0", "0-1-1-0-0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass20,4: resulting DOM for range [paras[0].firstChild, 0, paras[1].firstChild, 0], node foreignPara1
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Element node <p>Efghijkl</p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Element node <p>Efghijkl</p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_STATE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_STATE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass20,4: resulting range position for range [paras[0].firstChild, 0, paras[1].firstChild, 0], node foreignPara1
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Element node <p>Efghijkl</p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Element node <p>Efghijkl</p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(0, 0, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-0-0", "0-1-1-0-0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass20,5: resulting DOM for range [paras[0].firstChild, 0, paras[1].firstChild, 0], node foreignPara1.firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Text node "Efghijkl", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Text node "Efghijkl", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_STATE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_STATE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass20,5: resulting range position for range [paras[0].firstChild, 0, paras[1].firstChild, 0], node foreignPara1.firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Text node "Efghijkl", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Text node "Efghijkl", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(0, 0, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-0-0", "0-1-1-0-0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass20,6: resulting DOM for range [paras[0].firstChild, 0, paras[1].firstChild, 0], node detachedPara1
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Element node <p>Opqrstuv</p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Element node <p>Opqrstuv</p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_STATE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_STATE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass20,6: resulting range position for range [paras[0].firstChild, 0, paras[1].firstChild, 0], node detachedPara1
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Element node <p>Opqrstuv</p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Element node <p>Opqrstuv</p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(0, 0, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-0-0", "0-1-1-0-0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass20,7: resulting DOM for range [paras[0].firstChild, 0, paras[1].firstChild, 0], node detachedPara1.firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Text node "Opqrstuv", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Text node "Opqrstuv", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_STATE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_STATE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass20,7: resulting range position for range [paras[0].firstChild, 0, paras[1].firstChild, 0], node detachedPara1.firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Text node "Opqrstuv", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Text node "Opqrstuv", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(0, 0, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-0-0", "0-1-1-0-0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass20,8: resulting DOM for range [paras[0].firstChild, 0, paras[1].firstChild, 0], node document
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Document node with 2 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Document node with 2 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(1, 1, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_STATE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_STATE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass20,8: resulting range position for range [paras[0].firstChild, 0, paras[1].firstChild, 0], node document
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Document node with 2 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Document node with 2 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(0, 0, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-0-0", "0-1-1-0-0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass20,9: resulting DOM for range [paras[0].firstChild, 0, paras[1].firstChild, 0], node detachedDiv
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Element node <div><p>Opqrstuv</p><p>Wxyzabcd</p></div>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Element node <div><p>Opqrstuv</p><p>Wxyzabcd</p></div>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_STATE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_STATE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass20,9: resulting range position for range [paras[0].firstChild, 0, paras[1].firstChild, 0], node detachedDiv
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Element node <div><p>Opqrstuv</p><p>Wxyzabcd</p></div>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Element node <div><p>Opqrstuv</p><p>Wxyzabcd</p></div>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(0, 0, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-0-0", "0-1-1-0-0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass20,10: resulting DOM for range [paras[0].firstChild, 0, paras[1].firstChild, 0], node foreignDoc
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Document node with 3 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Document node with 3 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_STATE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_STATE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass20,10: resulting range position for range [paras[0].firstChild, 0, paras[1].firstChild, 0], node foreignDoc
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Document node with 3 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Document node with 3 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(0, 0, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-0-0", "0-1-1-0-0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass20,11: resulting DOM for range [paras[0].firstChild, 0, paras[1].firstChild, 0], node foreignPara2
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Element node <p>Mnopqrst</p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Element node <p>Mnopqrst</p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_STATE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_STATE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass20,11: resulting range position for range [paras[0].firstChild, 0, paras[1].firstChild, 0], node foreignPara2
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Element node <p>Mnopqrst</p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Element node <p>Mnopqrst</p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(0, 0, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-0-0", "0-1-1-0-0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass20,12: resulting DOM for range [paras[0].firstChild, 0, paras[1].firstChild, 0], node xmlDoc
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Document node with 4 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Document node with 4 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_STATE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_STATE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass20,12: resulting range position for range [paras[0].firstChild, 0, paras[1].firstChild, 0], node xmlDoc
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Document node with 4 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Document node with 4 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(0, 0, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-0-0", "0-1-1-0-0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass20,13: resulting DOM for range [paras[0].firstChild, 0, paras[1].firstChild, 0], node xmlElement
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Element node <igiveuponcreativenames>do re mi fa so la ti</igiveuponcr..., null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Element node <igiveuponcreativenames>do re mi fa so la ti</igiveuponcr..., null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_STATE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_STATE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass20,13: resulting range position for range [paras[0].firstChild, 0, paras[1].firstChild, 0], node xmlElement
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Element node <igiveuponcreativenames>do re mi fa so la ti</igiveuponcr..., null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Element node <igiveuponcreativenames>do re mi fa so la ti</igiveuponcr..., null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(0, 0, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-0-0", "0-1-1-0-0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass20,14: resulting DOM for range [paras[0].firstChild, 0, paras[1].firstChild, 0], node detachedTextNode
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Text node "Uvwxyzab", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Text node "Uvwxyzab", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_STATE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_STATE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass20,14: resulting range position for range [paras[0].firstChild, 0, paras[1].firstChild, 0], node detachedTextNode
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Text node "Uvwxyzab", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Text node "Uvwxyzab", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(0, 0, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-0-0", "0-1-1-0-0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass20,15: resulting DOM for range [paras[0].firstChild, 0, paras[1].firstChild, 0], node foreignTextNode
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Text node "I admit that I harbor doubts about whether we really need...", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Text node "I admit that I harbor doubts about whether we really need...", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_STATE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_STATE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass20,15: resulting range position for range [paras[0].firstChild, 0, paras[1].firstChild, 0], node foreignTextNode
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Text node "I admit that I harbor doubts about whether we really need...", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Text node "I admit that I harbor doubts about whether we really need...", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(0, 0, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-0-0", "0-1-1-0-0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass20,16: resulting DOM for range [paras[0].firstChild, 0, paras[1].firstChild, 0], node processingInstruction
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(ProcessingInstruction node with target "somePI" and data "Did you know that \":syn sync fromstart\" is very useful wh...", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(ProcessingInstruction node with target "somePI" and data "Did you know that \":syn sync fromstart\" is very useful wh...", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_STATE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_STATE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass20,16: resulting range position for range [paras[0].firstChild, 0, paras[1].firstChild, 0], node processingInstruction
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(ProcessingInstruction node with target "somePI" and data "Did you know that \":syn sync fromstart\" is very useful wh...", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(ProcessingInstruction node with target "somePI" and data "Did you know that \":syn sync fromstart\" is very useful wh...", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(0, 0, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-0-0", "0-1-1-0-0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass20,17: resulting DOM for range [paras[0].firstChild, 0, paras[1].firstChild, 0], node detachedProcessingInstruction
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(ProcessingInstruction node with target "whippoorwill" and data "chirp chirp chirp", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(ProcessingInstruction node with target "whippoorwill" and data "chirp chirp chirp", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_STATE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_STATE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass20,17: resulting range position for range [paras[0].firstChild, 0, paras[1].firstChild, 0], node detachedProcessingInstruction
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(ProcessingInstruction node with target "whippoorwill" and data "chirp chirp chirp", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(ProcessingInstruction node with target "whippoorwill" and data "chirp chirp chirp", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(0, 0, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-0-0", "0-1-1-0-0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass20,18: resulting DOM for range [paras[0].firstChild, 0, paras[1].firstChild, 0], node comment
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Comment node <!--Alphabet soup?-->, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Comment node <!--Alphabet soup?-->, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(1, 1, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_STATE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_STATE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass20,18: resulting range position for range [paras[0].firstChild, 0, paras[1].firstChild, 0], node comment
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Comment node <!--Alphabet soup?-->, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Comment node <!--Alphabet soup?-->, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(0, 0, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-0-0", "0-1-1-0-0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass20,19: resulting DOM for range [paras[0].firstChild, 0, paras[1].firstChild, 0], node detachedComment
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Comment node <!--Stuvwxyz-->, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Comment node <!--Stuvwxyz-->, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_STATE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_STATE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass20,19: resulting range position for range [paras[0].firstChild, 0, paras[1].firstChild, 0], node detachedComment
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Comment node <!--Stuvwxyz-->, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Comment node <!--Stuvwxyz-->, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(0, 0, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-0-0", "0-1-1-0-0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass20,20: resulting DOM for range [paras[0].firstChild, 0, paras[1].firstChild, 0], node docfrag
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(DocumentFragment node with 0 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(DocumentFragment node with 0 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_STATE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_STATE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass20,20: resulting range position for range [paras[0].firstChild, 0, paras[1].firstChild, 0], node docfrag
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(DocumentFragment node with 0 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(DocumentFragment node with 0 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(0, 0, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-0-0", "0-1-1-0-0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass20,21: resulting DOM for range [paras[0].firstChild, 0, paras[1].firstChild, 0], node doctype
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(1, 1, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_STATE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_STATE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass20,21: resulting range position for range [paras[0].firstChild, 0, paras[1].firstChild, 0], node doctype
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(0, 0, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-0-0", "0-1-1-0-0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass20,22: resulting DOM for range [paras[0].firstChild, 0, paras[1].firstChild, 0], node foreignDoctype
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_STATE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_STATE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass20,22: resulting range position for range [paras[0].firstChild, 0, paras[1].firstChild, 0], node foreignDoctype
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(0, 0, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-0-0", "0-1-1-0-0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass21,0: resulting DOM for range [paras[0].firstChild, 0, paras[1].firstChild, 8], node paras[0]
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(1, 1, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_STATE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_STATE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass21,0: resulting range position for range [paras[0].firstChild, 0, paras[1].firstChild, 8], node paras[0]
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(8, 8, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-0-0", "0-1-1-0-0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass21,1: resulting DOM for range [paras[0].firstChild, 0, paras[1].firstChild, 8], node paras[0].firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(1, 1, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_STATE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_STATE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass21,1: resulting range position for range [paras[0].firstChild, 0, paras[1].firstChild, 8], node paras[0].firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(8, 8, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-0-0", "0-1-1-0-0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass21,2: resulting DOM for range [paras[0].firstChild, 0, paras[1].firstChild, 8], node paras[1].firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Text node "Ijklmnop ", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Text node "Ijklmnop ", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(1, 1, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_STATE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_STATE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass21,2: resulting range position for range [paras[0].firstChild, 0, paras[1].firstChild, 8], node paras[1].firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Text node "Ijklmnop ", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Text node "Ijklmnop ", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(8, 8, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-0-0", "0-1-1-0-0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass21,3: resulting DOM for range [paras[0].firstChild, 0, paras[1].firstChild, 8], node paras[5].firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Node object of unknown type, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Node object of unknown type, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(1, 1, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_STATE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_STATE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass21,3: resulting range position for range [paras[0].firstChild, 0, paras[1].firstChild, 8], node paras[5].firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Node object of unknown type, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Node object of unknown type, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(8, 8, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-0-0", "0-1-1-0-0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass21,4: resulting DOM for range [paras[0].firstChild, 0, paras[1].firstChild, 8], node foreignPara1
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Element node <p>Efghijkl</p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Element node <p>Efghijkl</p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_STATE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_STATE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass21,4: resulting range position for range [paras[0].firstChild, 0, paras[1].firstChild, 8], node foreignPara1
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Element node <p>Efghijkl</p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Element node <p>Efghijkl</p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(8, 8, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-0-0", "0-1-1-0-0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass21,5: resulting DOM for range [paras[0].firstChild, 0, paras[1].firstChild, 8], node foreignPara1.firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Text node "Efghijkl", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Text node "Efghijkl", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_STATE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_STATE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass21,5: resulting range position for range [paras[0].firstChild, 0, paras[1].firstChild, 8], node foreignPara1.firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Text node "Efghijkl", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Text node "Efghijkl", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(8, 8, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-0-0", "0-1-1-0-0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass21,6: resulting DOM for range [paras[0].firstChild, 0, paras[1].firstChild, 8], node detachedPara1
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Element node <p>Opqrstuv</p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Element node <p>Opqrstuv</p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_STATE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_STATE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass21,6: resulting range position for range [paras[0].firstChild, 0, paras[1].firstChild, 8], node detachedPara1
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Element node <p>Opqrstuv</p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Element node <p>Opqrstuv</p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(8, 8, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-0-0", "0-1-1-0-0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass21,7: resulting DOM for range [paras[0].firstChild, 0, paras[1].firstChild, 8], node detachedPara1.firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Text node "Opqrstuv", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Text node "Opqrstuv", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_STATE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_STATE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass21,7: resulting range position for range [paras[0].firstChild, 0, paras[1].firstChild, 8], node detachedPara1.firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Text node "Opqrstuv", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Text node "Opqrstuv", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(8, 8, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-0-0", "0-1-1-0-0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass21,8: resulting DOM for range [paras[0].firstChild, 0, paras[1].firstChild, 8], node document
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Document node with 2 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Document node with 2 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(1, 1, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_STATE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_STATE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass21,8: resulting range position for range [paras[0].firstChild, 0, paras[1].firstChild, 8], node document
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Document node with 2 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Document node with 2 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(8, 8, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-0-0", "0-1-1-0-0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass21,9: resulting DOM for range [paras[0].firstChild, 0, paras[1].firstChild, 8], node detachedDiv
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Element node <div><p>Opqrstuv</p><p>Wxyzabcd</p></div>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Element node <div><p>Opqrstuv</p><p>Wxyzabcd</p></div>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_STATE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_STATE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass21,9: resulting range position for range [paras[0].firstChild, 0, paras[1].firstChild, 8], node detachedDiv
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Element node <div><p>Opqrstuv</p><p>Wxyzabcd</p></div>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Element node <div><p>Opqrstuv</p><p>Wxyzabcd</p></div>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(8, 8, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-0-0", "0-1-1-0-0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass21,10: resulting DOM for range [paras[0].firstChild, 0, paras[1].firstChild, 8], node foreignDoc
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Document node with 3 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Document node with 3 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_STATE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_STATE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass21,10: resulting range position for range [paras[0].firstChild, 0, paras[1].firstChild, 8], node foreignDoc
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Document node with 3 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Document node with 3 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(8, 8, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-0-0", "0-1-1-0-0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass21,11: resulting DOM for range [paras[0].firstChild, 0, paras[1].firstChild, 8], node foreignPara2
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Element node <p>Mnopqrst</p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Element node <p>Mnopqrst</p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_STATE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_STATE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass21,11: resulting range position for range [paras[0].firstChild, 0, paras[1].firstChild, 8], node foreignPara2
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Element node <p>Mnopqrst</p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Element node <p>Mnopqrst</p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(8, 8, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-0-0", "0-1-1-0-0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass21,12: resulting DOM for range [paras[0].firstChild, 0, paras[1].firstChild, 8], node xmlDoc
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Document node with 4 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Document node with 4 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_STATE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_STATE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass21,12: resulting range position for range [paras[0].firstChild, 0, paras[1].firstChild, 8], node xmlDoc
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Document node with 4 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Document node with 4 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(8, 8, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-0-0", "0-1-1-0-0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass21,13: resulting DOM for range [paras[0].firstChild, 0, paras[1].firstChild, 8], node xmlElement
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Element node <igiveuponcreativenames>do re mi fa so la ti</igiveuponcr..., null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Element node <igiveuponcreativenames>do re mi fa so la ti</igiveuponcr..., null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_STATE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_STATE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass21,13: resulting range position for range [paras[0].firstChild, 0, paras[1].firstChild, 8], node xmlElement
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Element node <igiveuponcreativenames>do re mi fa so la ti</igiveuponcr..., null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Element node <igiveuponcreativenames>do re mi fa so la ti</igiveuponcr..., null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(8, 8, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-0-0", "0-1-1-0-0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass21,14: resulting DOM for range [paras[0].firstChild, 0, paras[1].firstChild, 8], node detachedTextNode
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Text node "Uvwxyzab", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Text node "Uvwxyzab", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_STATE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_STATE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass21,14: resulting range position for range [paras[0].firstChild, 0, paras[1].firstChild, 8], node detachedTextNode
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Text node "Uvwxyzab", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Text node "Uvwxyzab", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(8, 8, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-0-0", "0-1-1-0-0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass21,15: resulting DOM for range [paras[0].firstChild, 0, paras[1].firstChild, 8], node foreignTextNode
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Text node "I admit that I harbor doubts about whether we really need...", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Text node "I admit that I harbor doubts about whether we really need...", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_STATE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_STATE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass21,15: resulting range position for range [paras[0].firstChild, 0, paras[1].firstChild, 8], node foreignTextNode
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Text node "I admit that I harbor doubts about whether we really need...", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Text node "I admit that I harbor doubts about whether we really need...", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(8, 8, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-0-0", "0-1-1-0-0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass21,16: resulting DOM for range [paras[0].firstChild, 0, paras[1].firstChild, 8], node processingInstruction
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(ProcessingInstruction node with target "somePI" and data "Did you know that \":syn sync fromstart\" is very useful wh...", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(ProcessingInstruction node with target "somePI" and data "Did you know that \":syn sync fromstart\" is very useful wh...", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_STATE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_STATE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass21,16: resulting range position for range [paras[0].firstChild, 0, paras[1].firstChild, 8], node processingInstruction
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(ProcessingInstruction node with target "somePI" and data "Did you know that \":syn sync fromstart\" is very useful wh...", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(ProcessingInstruction node with target "somePI" and data "Did you know that \":syn sync fromstart\" is very useful wh...", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(8, 8, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-0-0", "0-1-1-0-0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass21,17: resulting DOM for range [paras[0].firstChild, 0, paras[1].firstChild, 8], node detachedProcessingInstruction
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(ProcessingInstruction node with target "whippoorwill" and data "chirp chirp chirp", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(ProcessingInstruction node with target "whippoorwill" and data "chirp chirp chirp", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_STATE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_STATE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass21,17: resulting range position for range [paras[0].firstChild, 0, paras[1].firstChild, 8], node detachedProcessingInstruction
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(ProcessingInstruction node with target "whippoorwill" and data "chirp chirp chirp", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(ProcessingInstruction node with target "whippoorwill" and data "chirp chirp chirp", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(8, 8, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-0-0", "0-1-1-0-0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass21,18: resulting DOM for range [paras[0].firstChild, 0, paras[1].firstChild, 8], node comment
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Comment node <!--Alphabet soup?-->, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Comment node <!--Alphabet soup?-->, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(1, 1, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_STATE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_STATE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass21,18: resulting range position for range [paras[0].firstChild, 0, paras[1].firstChild, 8], node comment
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Comment node <!--Alphabet soup?-->, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Comment node <!--Alphabet soup?-->, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(8, 8, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-0-0", "0-1-1-0-0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass21,19: resulting DOM for range [paras[0].firstChild, 0, paras[1].firstChild, 8], node detachedComment
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Comment node <!--Stuvwxyz-->, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Comment node <!--Stuvwxyz-->, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_STATE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_STATE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass21,19: resulting range position for range [paras[0].firstChild, 0, paras[1].firstChild, 8], node detachedComment
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Comment node <!--Stuvwxyz-->, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Comment node <!--Stuvwxyz-->, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(8, 8, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-0-0", "0-1-1-0-0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass21,20: resulting DOM for range [paras[0].firstChild, 0, paras[1].firstChild, 8], node docfrag
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(DocumentFragment node with 0 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(DocumentFragment node with 0 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_STATE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_STATE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass21,20: resulting range position for range [paras[0].firstChild, 0, paras[1].firstChild, 8], node docfrag
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(DocumentFragment node with 0 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(DocumentFragment node with 0 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(8, 8, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-0-0", "0-1-1-0-0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass21,21: resulting DOM for range [paras[0].firstChild, 0, paras[1].firstChild, 8], node doctype
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(1, 1, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_STATE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_STATE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass21,21: resulting range position for range [paras[0].firstChild, 0, paras[1].firstChild, 8], node doctype
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(8, 8, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-0-0", "0-1-1-0-0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass21,22: resulting DOM for range [paras[0].firstChild, 0, paras[1].firstChild, 8], node foreignDoctype
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_STATE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_STATE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass21,22: resulting range position for range [paras[0].firstChild, 0, paras[1].firstChild, 8], node foreignDoctype
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(8, 8, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-0-0", "0-1-1-0-0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass22,0: resulting DOM for range [paras[0].firstChild, 3, paras[3], 1], node paras[0]
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdef", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdef", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(1, 1, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_STATE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_STATE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass22,0: resulting range position for range [paras[0].firstChild, 3, paras[3], 1], node paras[0]
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdef", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdef", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(3, 3, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(1, 1, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-0-0", "0-1-1-0-0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass22,1: resulting DOM for range [paras[0].firstChild, 3, paras[3], 1], node paras[0].firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdef", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdef", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(1, 1, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_STATE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_STATE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass22,1: resulting range position for range [paras[0].firstChild, 3, paras[3], 1], node paras[0].firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdef", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdef", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(3, 3, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(1, 1, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-0-0", "0-1-1-0-0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass22,2: resulting DOM for range [paras[0].firstChild, 3, paras[3], 1], node paras[1].firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdef", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdef", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Text node "Ijklmnop ", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Text node "Ijklmnop ", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(1, 1, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_STATE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_STATE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass22,2: resulting range position for range [paras[0].firstChild, 3, paras[3], 1], node paras[1].firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdef", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdef", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Text node "Ijklmnop ", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Text node "Ijklmnop ", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(3, 3, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(1, 1, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-0-0", "0-1-1-0-0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass22,3: resulting DOM for range [paras[0].firstChild, 3, paras[3], 1], node paras[5].firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdef", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdef", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Node object of unknown type, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Node object of unknown type, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(1, 1, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_STATE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_STATE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass22,3: resulting range position for range [paras[0].firstChild, 3, paras[3], 1], node paras[5].firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdef", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdef", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Node object of unknown type, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Node object of unknown type, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(3, 3, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(1, 1, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-0-0", "0-1-1-0-0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass22,4: resulting DOM for range [paras[0].firstChild, 3, paras[3], 1], node foreignPara1
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdef", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdef", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Element node <p>Efghijkl</p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Element node <p>Efghijkl</p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_STATE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_STATE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass22,4: resulting range position for range [paras[0].firstChild, 3, paras[3], 1], node foreignPara1
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdef", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdef", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Element node <p>Efghijkl</p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Element node <p>Efghijkl</p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(3, 3, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(1, 1, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-0-0", "0-1-1-0-0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass22,5: resulting DOM for range [paras[0].firstChild, 3, paras[3], 1], node foreignPara1.firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdef", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdef", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Text node "Efghijkl", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Text node "Efghijkl", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_STATE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_STATE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass22,5: resulting range position for range [paras[0].firstChild, 3, paras[3], 1], node foreignPara1.firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdef", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdef", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Text node "Efghijkl", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Text node "Efghijkl", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(3, 3, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(1, 1, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-0-0", "0-1-1-0-0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass22,6: resulting DOM for range [paras[0].firstChild, 3, paras[3], 1], node detachedPara1
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdef", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdef", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Element node <p>Opqrstuv</p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Element node <p>Opqrstuv</p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_STATE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_STATE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass22,6: resulting range position for range [paras[0].firstChild, 3, paras[3], 1], node detachedPara1
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdef", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdef", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Element node <p>Opqrstuv</p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Element node <p>Opqrstuv</p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(3, 3, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(1, 1, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-0-0", "0-1-1-0-0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass22,7: resulting DOM for range [paras[0].firstChild, 3, paras[3], 1], node detachedPara1.firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdef", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdef", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Text node "Opqrstuv", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Text node "Opqrstuv", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_STATE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_STATE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass22,7: resulting range position for range [paras[0].firstChild, 3, paras[3], 1], node detachedPara1.firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdef", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdef", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Text node "Opqrstuv", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Text node "Opqrstuv", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(3, 3, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(1, 1, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-0-0", "0-1-1-0-0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass22,8: resulting DOM for range [paras[0].firstChild, 3, paras[3], 1], node document
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdef", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdef", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Document node with 2 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Document node with 2 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(1, 1, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_STATE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_STATE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass22,8: resulting range position for range [paras[0].firstChild, 3, paras[3], 1], node document
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdef", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdef", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Document node with 2 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Document node with 2 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(3, 3, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(1, 1, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-0-0", "0-1-1-0-0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass22,9: resulting DOM for range [paras[0].firstChild, 3, paras[3], 1], node detachedDiv
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdef", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdef", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Element node <div><p>Opqrstuv</p><p>Wxyzabcd</p></div>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Element node <div><p>Opqrstuv</p><p>Wxyzabcd</p></div>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_STATE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_STATE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass22,9: resulting range position for range [paras[0].firstChild, 3, paras[3], 1], node detachedDiv
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdef", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdef", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Element node <div><p>Opqrstuv</p><p>Wxyzabcd</p></div>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Element node <div><p>Opqrstuv</p><p>Wxyzabcd</p></div>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(3, 3, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(1, 1, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-0-0", "0-1-1-0-0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass22,10: resulting DOM for range [paras[0].firstChild, 3, paras[3], 1], node foreignDoc
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdef", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdef", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Document node with 3 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Document node with 3 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_STATE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_STATE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass22,10: resulting range position for range [paras[0].firstChild, 3, paras[3], 1], node foreignDoc
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdef", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdef", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Document node with 3 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Document node with 3 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(3, 3, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(1, 1, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-0-0", "0-1-1-0-0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass22,11: resulting DOM for range [paras[0].firstChild, 3, paras[3], 1], node foreignPara2
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdef", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdef", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Element node <p>Mnopqrst</p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Element node <p>Mnopqrst</p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_STATE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_STATE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass22,11: resulting range position for range [paras[0].firstChild, 3, paras[3], 1], node foreignPara2
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdef", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdef", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Element node <p>Mnopqrst</p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Element node <p>Mnopqrst</p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(3, 3, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(1, 1, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-0-0", "0-1-1-0-0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass22,12: resulting DOM for range [paras[0].firstChild, 3, paras[3], 1], node xmlDoc
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdef", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdef", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Document node with 4 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Document node with 4 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_STATE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_STATE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass22,12: resulting range position for range [paras[0].firstChild, 3, paras[3], 1], node xmlDoc
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdef", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdef", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Document node with 4 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Document node with 4 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(3, 3, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(1, 1, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-0-0", "0-1-1-0-0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass22,13: resulting DOM for range [paras[0].firstChild, 3, paras[3], 1], node xmlElement
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdef", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdef", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Element node <igiveuponcreativenames>do re mi fa so la ti</igiveuponcr..., null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Element node <igiveuponcreativenames>do re mi fa so la ti</igiveuponcr..., null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_STATE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_STATE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass22,13: resulting range position for range [paras[0].firstChild, 3, paras[3], 1], node xmlElement
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdef", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdef", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Element node <igiveuponcreativenames>do re mi fa so la ti</igiveuponcr..., null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Element node <igiveuponcreativenames>do re mi fa so la ti</igiveuponcr..., null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(3, 3, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(1, 1, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-0-0", "0-1-1-0-0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass22,14: resulting DOM for range [paras[0].firstChild, 3, paras[3], 1], node detachedTextNode
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdef", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdef", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Text node "Uvwxyzab", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Text node "Uvwxyzab", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_STATE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_STATE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass22,14: resulting range position for range [paras[0].firstChild, 3, paras[3], 1], node detachedTextNode
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdef", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdef", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Text node "Uvwxyzab", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Text node "Uvwxyzab", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(3, 3, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(1, 1, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-0-0", "0-1-1-0-0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass22,15: resulting DOM for range [paras[0].firstChild, 3, paras[3], 1], node foreignTextNode
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdef", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdef", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Text node "I admit that I harbor doubts about whether we really need...", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Text node "I admit that I harbor doubts about whether we really need...", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_STATE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_STATE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass22,15: resulting range position for range [paras[0].firstChild, 3, paras[3], 1], node foreignTextNode
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdef", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdef", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Text node "I admit that I harbor doubts about whether we really need...", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Text node "I admit that I harbor doubts about whether we really need...", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(3, 3, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(1, 1, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-0-0", "0-1-1-0-0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass22,16: resulting DOM for range [paras[0].firstChild, 3, paras[3], 1], node processingInstruction
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdef", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdef", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(ProcessingInstruction node with target "somePI" and data "Did you know that \":syn sync fromstart\" is very useful wh...", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(ProcessingInstruction node with target "somePI" and data "Did you know that \":syn sync fromstart\" is very useful wh...", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_STATE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_STATE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass22,16: resulting range position for range [paras[0].firstChild, 3, paras[3], 1], node processingInstruction
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdef", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdef", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(ProcessingInstruction node with target "somePI" and data "Did you know that \":syn sync fromstart\" is very useful wh...", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(ProcessingInstruction node with target "somePI" and data "Did you know that \":syn sync fromstart\" is very useful wh...", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(3, 3, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(1, 1, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-0-0", "0-1-1-0-0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass22,17: resulting DOM for range [paras[0].firstChild, 3, paras[3], 1], node detachedProcessingInstruction
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdef", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdef", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(ProcessingInstruction node with target "whippoorwill" and data "chirp chirp chirp", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(ProcessingInstruction node with target "whippoorwill" and data "chirp chirp chirp", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_STATE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_STATE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass22,17: resulting range position for range [paras[0].firstChild, 3, paras[3], 1], node detachedProcessingInstruction
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdef", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdef", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(ProcessingInstruction node with target "whippoorwill" and data "chirp chirp chirp", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(ProcessingInstruction node with target "whippoorwill" and data "chirp chirp chirp", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(3, 3, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(1, 1, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-0-0", "0-1-1-0-0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass22,18: resulting DOM for range [paras[0].firstChild, 3, paras[3], 1], node comment
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdef", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdef", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Comment node <!--Alphabet soup?-->, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Comment node <!--Alphabet soup?-->, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(1, 1, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_STATE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_STATE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass22,18: resulting range position for range [paras[0].firstChild, 3, paras[3], 1], node comment
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdef", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdef", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Comment node <!--Alphabet soup?-->, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Comment node <!--Alphabet soup?-->, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(3, 3, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(1, 1, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-0-0", "0-1-1-0-0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass22,19: resulting DOM for range [paras[0].firstChild, 3, paras[3], 1], node detachedComment
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdef", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdef", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Comment node <!--Stuvwxyz-->, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Comment node <!--Stuvwxyz-->, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_STATE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_STATE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass22,19: resulting range position for range [paras[0].firstChild, 3, paras[3], 1], node detachedComment
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdef", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdef", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Comment node <!--Stuvwxyz-->, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Comment node <!--Stuvwxyz-->, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(3, 3, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(1, 1, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-0-0", "0-1-1-0-0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass22,20: resulting DOM for range [paras[0].firstChild, 3, paras[3], 1], node docfrag
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdef", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdef", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(DocumentFragment node with 0 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(DocumentFragment node with 0 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_STATE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_STATE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass22,20: resulting range position for range [paras[0].firstChild, 3, paras[3], 1], node docfrag
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdef", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdef", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(DocumentFragment node with 0 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(DocumentFragment node with 0 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(3, 3, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(1, 1, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-0-0", "0-1-1-0-0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass22,21: resulting DOM for range [paras[0].firstChild, 3, paras[3], 1], node doctype
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdef", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdef", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(1, 1, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_STATE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_STATE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass22,21: resulting range position for range [paras[0].firstChild, 3, paras[3], 1], node doctype
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdef", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdef", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(3, 3, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(1, 1, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-0-0", "0-1-1-0-0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass22,22: resulting DOM for range [paras[0].firstChild, 3, paras[3], 1], node foreignDoctype
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdef", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdef", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_STATE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_STATE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass22,22: resulting range position for range [paras[0].firstChild, 3, paras[3], 1], node foreignDoctype
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdef", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdef", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(3, 3, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(1, 1, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-0-0", "0-1-1-0-0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass23,0: resulting DOM for range [paras[0], 0, paras[0].firstChild, 7], node paras[0]
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Äb̈c̈d", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Äb̈c̈d", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(1, 1, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass23,0: resulting range position for range [paras[0], 0, paras[0].firstChild, 7], node paras[0]
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Element node <p id="a"></p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Element node <p id="a"></p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(0, 0, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected p but got p")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-0", "0-1-1-0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass23,1: resulting DOM for range [paras[0], 0, paras[0].firstChild, 7], node paras[0].firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Äb̈c̈d", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Äb̈c̈d", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(1, 1, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass23,1: resulting range position for range [paras[0], 0, paras[0].firstChild, 7], node paras[0].firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "̈ëf̈g̈ḧ ", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "̈ëf̈g̈ḧ ", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Text node "̈ëf̈g̈ḧ ", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Text node "̈ëf̈g̈ḧ ", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(1, 1, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected p but got p")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-0", "0-1-1-0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass23,2: resulting DOM for range [paras[0], 0, paras[0].firstChild, 7], node paras[1].firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Äb̈c̈d", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Äb̈c̈d", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Text node "Ijklmnop ", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Text node "Ijklmnop ", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(1, 1, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass23,2: resulting range position for range [paras[0], 0, paras[0].firstChild, 7], node paras[1].firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Ijklmnop ", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Ijklmnop ", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Text node "Ijklmnop ", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Text node "Ijklmnop ", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(1, 1, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected p but got p")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-0", "0-1-1-0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass23,3: resulting DOM for range [paras[0], 0, paras[0].firstChild, 7], node paras[5].firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Äb̈c̈d", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Äb̈c̈d", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Node object of unknown type, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Node object of unknown type, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(1, 1, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass23,3: resulting range position for range [paras[0], 0, paras[0].firstChild, 7], node paras[5].firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "1234", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "1234", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Node object of unknown type, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Node object of unknown type, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(1, 1, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected p but got p")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-0", "0-1-1-0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass23,4: resulting DOM for range [paras[0], 0, paras[0].firstChild, 7], node foreignPara1
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Äb̈c̈d", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Äb̈c̈d", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Element node <p>Efghijkl</p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Element node <p>Efghijkl</p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass23,4: resulting range position for range [paras[0], 0, paras[0].firstChild, 7], node foreignPara1
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Äb̈c̈d", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Äb̈c̈d", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Element node <p>Äb̈c̈d</p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Element node <p>Äb̈c̈d</p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(1, 1, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected p but got p")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-0", "0-1-1-0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass23,5: resulting DOM for range [paras[0], 0, paras[0].firstChild, 7], node foreignPara1.firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Äb̈c̈d", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Äb̈c̈d", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Text node "Efghijkl", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Text node "Efghijkl", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass23,5: resulting range position for range [paras[0], 0, paras[0].firstChild, 7], node foreignPara1.firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Efghijkl", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Efghijkl", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Text node "Efghijkl", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Text node "Efghijkl", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(1, 1, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected p but got p")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-0", "0-1-1-0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass23,6: resulting DOM for range [paras[0], 0, paras[0].firstChild, 7], node detachedPara1
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Äb̈c̈d", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Äb̈c̈d", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Element node <p>Opqrstuv</p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Element node <p>Opqrstuv</p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass23,6: resulting range position for range [paras[0], 0, paras[0].firstChild, 7], node detachedPara1
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Äb̈c̈d", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Äb̈c̈d", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Element node <p>Äb̈c̈d</p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Element node <p>Äb̈c̈d</p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(1, 1, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected p but got p")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-0", "0-1-1-0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass23,7: resulting DOM for range [paras[0], 0, paras[0].firstChild, 7], node detachedPara1.firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Äb̈c̈d", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Äb̈c̈d", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Text node "Opqrstuv", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Text node "Opqrstuv", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass23,7: resulting range position for range [paras[0], 0, paras[0].firstChild, 7], node detachedPara1.firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Opqrstuv", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Opqrstuv", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Text node "Opqrstuv", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Text node "Opqrstuv", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(1, 1, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected p but got p")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-0", "0-1-1-0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass23,8: resulting DOM for range [paras[0], 0, paras[0].firstChild, 7], node document
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Äb̈c̈d", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Äb̈c̈d", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Document node with 2 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Document node with 2 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(1, 1, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_NODE_TYPE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_NODE_TYPE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass23,8: resulting range position for range [paras[0], 0, paras[0].firstChild, 7], node document
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Äb̈c̈d", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Äb̈c̈d", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Document node with 2 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Document node with 2 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(7, 7, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected p but got p")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-0", "0-1-1-0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass23,9: resulting DOM for range [paras[0], 0, paras[0].firstChild, 7], node detachedDiv
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Äb̈c̈d", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Äb̈c̈d", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Element node <div><p>Opqrstuv</p><p>Wxyzabcd</p></div>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Element node <div><p>Opqrstuv</p><p>Wxyzabcd</p></div>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass23,9: resulting range position for range [paras[0], 0, paras[0].firstChild, 7], node detachedDiv
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Äb̈c̈d", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Äb̈c̈d", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Element node <div>Äb̈c̈d</div>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Element node <div>Äb̈c̈d</div>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(1, 1, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected p but got p")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-0", "0-1-1-0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass23,10: resulting DOM for range [paras[0], 0, paras[0].firstChild, 7], node foreignDoc
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Äb̈c̈d", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Äb̈c̈d", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Document node with 3 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Document node with 3 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_NODE_TYPE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_NODE_TYPE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass23,10: resulting range position for range [paras[0], 0, paras[0].firstChild, 7], node foreignDoc
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Äb̈c̈d", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Äb̈c̈d", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Document node with 3 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Document node with 3 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(7, 7, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected p but got p")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-0", "0-1-1-0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass23,11: resulting DOM for range [paras[0], 0, paras[0].firstChild, 7], node foreignPara2
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Äb̈c̈d", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Äb̈c̈d", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Element node <p>Mnopqrst</p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Element node <p>Mnopqrst</p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass23,11: resulting range position for range [paras[0], 0, paras[0].firstChild, 7], node foreignPara2
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Äb̈c̈d", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Äb̈c̈d", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Element node <p>Äb̈c̈d</p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Element node <p>Äb̈c̈d</p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(1, 1, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected p but got p")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-0", "0-1-1-0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass23,12: resulting DOM for range [paras[0], 0, paras[0].firstChild, 7], node xmlDoc
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Äb̈c̈d", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Äb̈c̈d", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Document node with 4 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Document node with 4 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_NODE_TYPE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_NODE_TYPE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass23,12: resulting range position for range [paras[0], 0, paras[0].firstChild, 7], node xmlDoc
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Äb̈c̈d", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Äb̈c̈d", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Document node with 4 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Document node with 4 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(7, 7, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected p but got p")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-0", "0-1-1-0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass23,13: resulting DOM for range [paras[0], 0, paras[0].firstChild, 7], node xmlElement
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Äb̈c̈d", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Äb̈c̈d", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Element node <igiveuponcreativenames>do re mi fa so la ti</igiveuponcr..., null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Element node <igiveuponcreativenames>do re mi fa so la ti</igiveuponcr..., null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass23,13: resulting range position for range [paras[0], 0, paras[0].firstChild, 7], node xmlElement
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Äb̈c̈d", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Äb̈c̈d", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Element node <igiveuponcreativenames>Äb̈c̈d</igiveuponcreativenames>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Element node <igiveuponcreativenames>Äb̈c̈d</igiveuponcreativenames>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(1, 1, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected p but got p")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-0", "0-1-1-0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass23,14: resulting DOM for range [paras[0], 0, paras[0].firstChild, 7], node detachedTextNode
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Äb̈c̈d", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Äb̈c̈d", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Text node "Uvwxyzab", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Text node "Uvwxyzab", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass23,14: resulting range position for range [paras[0], 0, paras[0].firstChild, 7], node detachedTextNode
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Uvwxyzab", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Uvwxyzab", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Text node "Uvwxyzab", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Text node "Uvwxyzab", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(1, 1, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected p but got p")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-0", "0-1-1-0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass23,15: resulting DOM for range [paras[0], 0, paras[0].firstChild, 7], node foreignTextNode
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Äb̈c̈d", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Äb̈c̈d", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Text node "I admit that I harbor doubts about whether we really need...", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Text node "I admit that I harbor doubts about whether we really need...", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass23,15: resulting range position for range [paras[0], 0, paras[0].firstChild, 7], node foreignTextNode
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "I admit that I harbor doubts about whether we really need so many things to test, but it's too late to stop now.", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "I admit that I harbor doubts about whether we really need so many things to test, but it's too late to stop now.", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Text node "I admit that I harbor doubts about whether we really need...", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Text node "I admit that I harbor doubts about whether we really need...", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(1, 1, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected p but got p")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-0", "0-1-1-0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass23,16: resulting DOM for range [paras[0], 0, paras[0].firstChild, 7], node processingInstruction
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Äb̈c̈d", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Äb̈c̈d", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(ProcessingInstruction node with target "somePI" and data "Did you know that \":syn sync fromstart\" is very useful wh...", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(ProcessingInstruction node with target "somePI" and data "Did you know that \":syn sync fromstart\" is very useful wh...", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass23,16: resulting range position for range [paras[0], 0, paras[0].firstChild, 7], node processingInstruction
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(ProcessingInstruction node with target "somePI" and data "Did you know that \":syn sync fromstart\" is very useful wh...", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(ProcessingInstruction node with target "somePI" and data "Did you know that \":syn sync fromstart\" is very useful wh...", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(1, 1, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected p but got p")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-0", "0-1-1-0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass23,17: resulting DOM for range [paras[0], 0, paras[0].firstChild, 7], node detachedProcessingInstruction
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Äb̈c̈d", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Äb̈c̈d", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(ProcessingInstruction node with target "whippoorwill" and data "chirp chirp chirp", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(ProcessingInstruction node with target "whippoorwill" and data "chirp chirp chirp", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass23,17: resulting range position for range [paras[0], 0, paras[0].firstChild, 7], node detachedProcessingInstruction
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(ProcessingInstruction node with target "whippoorwill" and data "chirp chirp chirp", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(ProcessingInstruction node with target "whippoorwill" and data "chirp chirp chirp", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(1, 1, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected p but got p")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-0", "0-1-1-0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass23,18: resulting DOM for range [paras[0], 0, paras[0].firstChild, 7], node comment
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Äb̈c̈d", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Äb̈c̈d", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Comment node <!--Alphabet soup?-->, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Comment node <!--Alphabet soup?-->, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(1, 1, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass23,18: resulting range position for range [paras[0], 0, paras[0].firstChild, 7], node comment
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Comment node <!--Alphabet soup?-->, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Comment node <!--Alphabet soup?-->, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(1, 1, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected p but got p")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-0", "0-1-1-0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass23,19: resulting DOM for range [paras[0], 0, paras[0].firstChild, 7], node detachedComment
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Äb̈c̈d", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Äb̈c̈d", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Comment node <!--Stuvwxyz-->, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Comment node <!--Stuvwxyz-->, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass23,19: resulting range position for range [paras[0], 0, paras[0].firstChild, 7], node detachedComment
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Comment node <!--Stuvwxyz-->, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Comment node <!--Stuvwxyz-->, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(1, 1, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected p but got p")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-0", "0-1-1-0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass23,20: resulting DOM for range [paras[0], 0, paras[0].firstChild, 7], node docfrag
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Äb̈c̈d", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Äb̈c̈d", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(DocumentFragment node with 0 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(DocumentFragment node with 0 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_NODE_TYPE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_NODE_TYPE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass23,20: resulting range position for range [paras[0], 0, paras[0].firstChild, 7], node docfrag
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Äb̈c̈d", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Äb̈c̈d", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(DocumentFragment node with 0 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(DocumentFragment node with 0 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(7, 7, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected p but got p")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-0", "0-1-1-0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass23,21: resulting DOM for range [paras[0], 0, paras[0].firstChild, 7], node doctype
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Äb̈c̈d", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Äb̈c̈d", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(1, 1, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_NODE_TYPE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_NODE_TYPE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass23,21: resulting range position for range [paras[0], 0, paras[0].firstChild, 7], node doctype
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Äb̈c̈d", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Äb̈c̈d", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(7, 7, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected p but got p")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-0", "0-1-1-0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass23,22: resulting DOM for range [paras[0], 0, paras[0].firstChild, 7], node foreignDoctype
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Äb̈c̈d", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Äb̈c̈d", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_NODE_TYPE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_NODE_TYPE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass23,22: resulting range position for range [paras[0], 0, paras[0].firstChild, 7], node foreignDoctype
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Äb̈c̈d", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Äb̈c̈d", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(7, 7, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected p but got p")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-0", "0-1-1-0-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass24,0: resulting DOM for range [testDiv, 2, paras[4], 1], node paras[0]
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "QrstuvwxYzabcdefGhijklmn", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "QrstuvwxYzabcdefGhijklmn", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(1, 1, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_STATE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_STATE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass24,0: resulting range position for range [testDiv, 2, paras[4], 1], node paras[0]
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "QrstuvwxYzabcdefGhijklmn", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "QrstuvwxYzabcdefGhijklmn", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(2, 2, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(1, 1, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected div but got div")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0", "0-1-1-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass24,1: resulting DOM for range [testDiv, 2, paras[4], 1], node paras[0].firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "QrstuvwxYzabcdefGhijklmn", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "QrstuvwxYzabcdefGhijklmn", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(1, 1, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_STATE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_STATE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass24,1: resulting range position for range [testDiv, 2, paras[4], 1], node paras[0].firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "QrstuvwxYzabcdefGhijklmn", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "QrstuvwxYzabcdefGhijklmn", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(2, 2, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(1, 1, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected div but got div")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0", "0-1-1-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass24,2: resulting DOM for range [testDiv, 2, paras[4], 1], node paras[1].firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "QrstuvwxYzabcdefGhijklmn", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "QrstuvwxYzabcdefGhijklmn", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Text node "Ijklmnop ", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Text node "Ijklmnop ", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(1, 1, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_STATE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_STATE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass24,2: resulting range position for range [testDiv, 2, paras[4], 1], node paras[1].firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "QrstuvwxYzabcdefGhijklmn", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "QrstuvwxYzabcdefGhijklmn", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Text node "Ijklmnop ", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Text node "Ijklmnop ", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(2, 2, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(1, 1, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected div but got div")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0", "0-1-1-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass24,3: resulting DOM for range [testDiv, 2, paras[4], 1], node paras[5].firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "QrstuvwxYzabcdefGhijklmn", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "QrstuvwxYzabcdefGhijklmn", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Node object of unknown type, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Node object of unknown type, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(1, 1, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_STATE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_STATE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass24,3: resulting range position for range [testDiv, 2, paras[4], 1], node paras[5].firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "QrstuvwxYzabcdefGhijklmn", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "QrstuvwxYzabcdefGhijklmn", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Node object of unknown type, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Node object of unknown type, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(2, 2, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(1, 1, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected div but got div")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0", "0-1-1-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass24,4: resulting DOM for range [testDiv, 2, paras[4], 1], node foreignPara1
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "QrstuvwxYzabcdefGhijklmn", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "QrstuvwxYzabcdefGhijklmn", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Element node <p>Efghijkl</p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Element node <p>Efghijkl</p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_STATE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_STATE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass24,4: resulting range position for range [testDiv, 2, paras[4], 1], node foreignPara1
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "QrstuvwxYzabcdefGhijklmn", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "QrstuvwxYzabcdefGhijklmn", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Element node <p>Efghijkl</p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Element node <p>Efghijkl</p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(2, 2, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(1, 1, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected div but got div")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0", "0-1-1-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass24,5: resulting DOM for range [testDiv, 2, paras[4], 1], node foreignPara1.firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "QrstuvwxYzabcdefGhijklmn", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "QrstuvwxYzabcdefGhijklmn", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Text node "Efghijkl", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Text node "Efghijkl", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_STATE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_STATE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass24,5: resulting range position for range [testDiv, 2, paras[4], 1], node foreignPara1.firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "QrstuvwxYzabcdefGhijklmn", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "QrstuvwxYzabcdefGhijklmn", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Text node "Efghijkl", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Text node "Efghijkl", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(2, 2, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(1, 1, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected div but got div")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0", "0-1-1-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass24,6: resulting DOM for range [testDiv, 2, paras[4], 1], node detachedPara1
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "QrstuvwxYzabcdefGhijklmn", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "QrstuvwxYzabcdefGhijklmn", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Element node <p>Opqrstuv</p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Element node <p>Opqrstuv</p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_STATE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_STATE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass24,6: resulting range position for range [testDiv, 2, paras[4], 1], node detachedPara1
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "QrstuvwxYzabcdefGhijklmn", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "QrstuvwxYzabcdefGhijklmn", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Element node <p>Opqrstuv</p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Element node <p>Opqrstuv</p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(2, 2, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(1, 1, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected div but got div")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0", "0-1-1-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass24,7: resulting DOM for range [testDiv, 2, paras[4], 1], node detachedPara1.firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "QrstuvwxYzabcdefGhijklmn", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "QrstuvwxYzabcdefGhijklmn", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Text node "Opqrstuv", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Text node "Opqrstuv", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_STATE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_STATE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass24,7: resulting range position for range [testDiv, 2, paras[4], 1], node detachedPara1.firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "QrstuvwxYzabcdefGhijklmn", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "QrstuvwxYzabcdefGhijklmn", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Text node "Opqrstuv", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Text node "Opqrstuv", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(2, 2, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(1, 1, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected div but got div")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0", "0-1-1-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass24,8: resulting DOM for range [testDiv, 2, paras[4], 1], node document
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "QrstuvwxYzabcdefGhijklmn", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "QrstuvwxYzabcdefGhijklmn", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Document node with 2 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Document node with 2 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(1, 1, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_STATE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_STATE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass24,8: resulting range position for range [testDiv, 2, paras[4], 1], node document
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "QrstuvwxYzabcdefGhijklmn", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "QrstuvwxYzabcdefGhijklmn", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Document node with 2 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Document node with 2 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(2, 2, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(1, 1, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected div but got div")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0", "0-1-1-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass24,9: resulting DOM for range [testDiv, 2, paras[4], 1], node detachedDiv
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "QrstuvwxYzabcdefGhijklmn", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "QrstuvwxYzabcdefGhijklmn", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Element node <div><p>Opqrstuv</p><p>Wxyzabcd</p></div>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Element node <div><p>Opqrstuv</p><p>Wxyzabcd</p></div>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_STATE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_STATE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass24,9: resulting range position for range [testDiv, 2, paras[4], 1], node detachedDiv
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "QrstuvwxYzabcdefGhijklmn", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "QrstuvwxYzabcdefGhijklmn", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Element node <div><p>Opqrstuv</p><p>Wxyzabcd</p></div>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Element node <div><p>Opqrstuv</p><p>Wxyzabcd</p></div>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(2, 2, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(1, 1, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected div but got div")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0", "0-1-1-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass24,10: resulting DOM for range [testDiv, 2, paras[4], 1], node foreignDoc
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "QrstuvwxYzabcdefGhijklmn", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "QrstuvwxYzabcdefGhijklmn", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Document node with 3 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Document node with 3 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_STATE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_STATE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass24,10: resulting range position for range [testDiv, 2, paras[4], 1], node foreignDoc
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "QrstuvwxYzabcdefGhijklmn", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "QrstuvwxYzabcdefGhijklmn", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Document node with 3 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Document node with 3 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(2, 2, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(1, 1, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected div but got div")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0", "0-1-1-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass24,11: resulting DOM for range [testDiv, 2, paras[4], 1], node foreignPara2
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "QrstuvwxYzabcdefGhijklmn", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "QrstuvwxYzabcdefGhijklmn", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Element node <p>Mnopqrst</p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Element node <p>Mnopqrst</p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_STATE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_STATE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass24,11: resulting range position for range [testDiv, 2, paras[4], 1], node foreignPara2
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "QrstuvwxYzabcdefGhijklmn", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "QrstuvwxYzabcdefGhijklmn", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Element node <p>Mnopqrst</p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Element node <p>Mnopqrst</p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(2, 2, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(1, 1, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected div but got div")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0", "0-1-1-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass24,12: resulting DOM for range [testDiv, 2, paras[4], 1], node xmlDoc
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "QrstuvwxYzabcdefGhijklmn", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "QrstuvwxYzabcdefGhijklmn", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Document node with 4 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Document node with 4 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_STATE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_STATE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass24,12: resulting range position for range [testDiv, 2, paras[4], 1], node xmlDoc
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "QrstuvwxYzabcdefGhijklmn", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "QrstuvwxYzabcdefGhijklmn", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Document node with 4 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Document node with 4 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(2, 2, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(1, 1, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected div but got div")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0", "0-1-1-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass24,13: resulting DOM for range [testDiv, 2, paras[4], 1], node xmlElement
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "QrstuvwxYzabcdefGhijklmn", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "QrstuvwxYzabcdefGhijklmn", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Element node <igiveuponcreativenames>do re mi fa so la ti</igiveuponcr..., null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Element node <igiveuponcreativenames>do re mi fa so la ti</igiveuponcr..., null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_STATE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_STATE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass24,13: resulting range position for range [testDiv, 2, paras[4], 1], node xmlElement
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "QrstuvwxYzabcdefGhijklmn", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "QrstuvwxYzabcdefGhijklmn", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Element node <igiveuponcreativenames>do re mi fa so la ti</igiveuponcr..., null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Element node <igiveuponcreativenames>do re mi fa so la ti</igiveuponcr..., null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(2, 2, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(1, 1, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected div but got div")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0", "0-1-1-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass24,14: resulting DOM for range [testDiv, 2, paras[4], 1], node detachedTextNode
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "QrstuvwxYzabcdefGhijklmn", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "QrstuvwxYzabcdefGhijklmn", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Text node "Uvwxyzab", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Text node "Uvwxyzab", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_STATE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_STATE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass24,14: resulting range position for range [testDiv, 2, paras[4], 1], node detachedTextNode
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "QrstuvwxYzabcdefGhijklmn", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "QrstuvwxYzabcdefGhijklmn", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Text node "Uvwxyzab", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Text node "Uvwxyzab", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(2, 2, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(1, 1, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected div but got div")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0", "0-1-1-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass24,15: resulting DOM for range [testDiv, 2, paras[4], 1], node foreignTextNode
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "QrstuvwxYzabcdefGhijklmn", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "QrstuvwxYzabcdefGhijklmn", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Text node "I admit that I harbor doubts about whether we really need...", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Text node "I admit that I harbor doubts about whether we really need...", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_STATE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_STATE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass24,15: resulting range position for range [testDiv, 2, paras[4], 1], node foreignTextNode
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "QrstuvwxYzabcdefGhijklmn", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "QrstuvwxYzabcdefGhijklmn", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Text node "I admit that I harbor doubts about whether we really need...", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Text node "I admit that I harbor doubts about whether we really need...", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(2, 2, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(1, 1, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected div but got div")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0", "0-1-1-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass24,16: resulting DOM for range [testDiv, 2, paras[4], 1], node processingInstruction
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "QrstuvwxYzabcdefGhijklmn", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "QrstuvwxYzabcdefGhijklmn", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(ProcessingInstruction node with target "somePI" and data "Did you know that \":syn sync fromstart\" is very useful wh...", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(ProcessingInstruction node with target "somePI" and data "Did you know that \":syn sync fromstart\" is very useful wh...", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_STATE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_STATE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass24,16: resulting range position for range [testDiv, 2, paras[4], 1], node processingInstruction
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "QrstuvwxYzabcdefGhijklmn", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "QrstuvwxYzabcdefGhijklmn", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(ProcessingInstruction node with target "somePI" and data "Did you know that \":syn sync fromstart\" is very useful wh...", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(ProcessingInstruction node with target "somePI" and data "Did you know that \":syn sync fromstart\" is very useful wh...", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(2, 2, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(1, 1, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected div but got div")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0", "0-1-1-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass24,17: resulting DOM for range [testDiv, 2, paras[4], 1], node detachedProcessingInstruction
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "QrstuvwxYzabcdefGhijklmn", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "QrstuvwxYzabcdefGhijklmn", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(ProcessingInstruction node with target "whippoorwill" and data "chirp chirp chirp", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(ProcessingInstruction node with target "whippoorwill" and data "chirp chirp chirp", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_STATE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_STATE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass24,17: resulting range position for range [testDiv, 2, paras[4], 1], node detachedProcessingInstruction
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "QrstuvwxYzabcdefGhijklmn", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "QrstuvwxYzabcdefGhijklmn", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(ProcessingInstruction node with target "whippoorwill" and data "chirp chirp chirp", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(ProcessingInstruction node with target "whippoorwill" and data "chirp chirp chirp", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(2, 2, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(1, 1, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected div but got div")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0", "0-1-1-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass24,18: resulting DOM for range [testDiv, 2, paras[4], 1], node comment
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "QrstuvwxYzabcdefGhijklmn", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "QrstuvwxYzabcdefGhijklmn", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Comment node <!--Alphabet soup?-->, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Comment node <!--Alphabet soup?-->, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(1, 1, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_STATE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_STATE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass24,18: resulting range position for range [testDiv, 2, paras[4], 1], node comment
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "QrstuvwxYzabcdefGhijklmn", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "QrstuvwxYzabcdefGhijklmn", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Comment node <!--Alphabet soup?-->, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Comment node <!--Alphabet soup?-->, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(2, 2, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(1, 1, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected div but got div")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0", "0-1-1-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass24,19: resulting DOM for range [testDiv, 2, paras[4], 1], node detachedComment
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "QrstuvwxYzabcdefGhijklmn", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "QrstuvwxYzabcdefGhijklmn", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Comment node <!--Stuvwxyz-->, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Comment node <!--Stuvwxyz-->, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_STATE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_STATE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass24,19: resulting range position for range [testDiv, 2, paras[4], 1], node detachedComment
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "QrstuvwxYzabcdefGhijklmn", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "QrstuvwxYzabcdefGhijklmn", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Comment node <!--Stuvwxyz-->, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Comment node <!--Stuvwxyz-->, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(2, 2, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(1, 1, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected div but got div")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0", "0-1-1-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass24,20: resulting DOM for range [testDiv, 2, paras[4], 1], node docfrag
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "QrstuvwxYzabcdefGhijklmn", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "QrstuvwxYzabcdefGhijklmn", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(DocumentFragment node with 0 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(DocumentFragment node with 0 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_STATE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_STATE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass24,20: resulting range position for range [testDiv, 2, paras[4], 1], node docfrag
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "QrstuvwxYzabcdefGhijklmn", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "QrstuvwxYzabcdefGhijklmn", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(DocumentFragment node with 0 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(DocumentFragment node with 0 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(2, 2, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(1, 1, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected div but got div")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0", "0-1-1-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass24,21: resulting DOM for range [testDiv, 2, paras[4], 1], node doctype
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "QrstuvwxYzabcdefGhijklmn", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "QrstuvwxYzabcdefGhijklmn", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(1, 1, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_STATE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_STATE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass24,21: resulting range position for range [testDiv, 2, paras[4], 1], node doctype
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "QrstuvwxYzabcdefGhijklmn", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "QrstuvwxYzabcdefGhijklmn", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(2, 2, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(1, 1, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected div but got div")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0", "0-1-1-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass24,22: resulting DOM for range [testDiv, 2, paras[4], 1], node foreignDoctype
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "QrstuvwxYzabcdefGhijklmn", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "QrstuvwxYzabcdefGhijklmn", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_STATE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_STATE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass24,22: resulting range position for range [testDiv, 2, paras[4], 1], node foreignDoctype
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "QrstuvwxYzabcdefGhijklmn", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "QrstuvwxYzabcdefGhijklmn", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(2, 2, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(1, 1, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected div but got div")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0", "0-1-1-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass25,0: resulting DOM for range [document, 0, document, 1], node paras[0]
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(1, 1, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass25,0: resulting range position for range [document, 0, document, 1], node paras[0]
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(1, 1, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #document but got #document")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0", "0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass25,1: resulting DOM for range [document, 0, document, 1], node paras[0].firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(1, 1, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass25,1: resulting range position for range [document, 0, document, 1], node paras[0].firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(1, 1, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #document but got #document")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0", "0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass25,2: resulting DOM for range [document, 0, document, 1], node paras[1].firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Text node "Ijklmnop ", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Text node "Ijklmnop ", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(1, 1, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass25,2: resulting range position for range [document, 0, document, 1], node paras[1].firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Text node "Ijklmnop ", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Text node "Ijklmnop ", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(1, 1, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #document but got #document")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0", "0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass25,3: resulting DOM for range [document, 0, document, 1], node paras[5].firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Node object of unknown type, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Node object of unknown type, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(1, 1, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass25,3: resulting range position for range [document, 0, document, 1], node paras[5].firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Node object of unknown type, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Node object of unknown type, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(1, 1, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #document but got #document")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0", "0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass25,4: resulting DOM for range [document, 0, document, 1], node foreignPara1
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Element node <p>Efghijkl</p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Element node <p>Efghijkl</p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass25,4: resulting range position for range [document, 0, document, 1], node foreignPara1
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Element node <p>Efghijkl</p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Element node <p>Efghijkl</p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(1, 1, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #document but got #document")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0", "0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass25,5: resulting DOM for range [document, 0, document, 1], node foreignPara1.firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Text node "Efghijkl", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Text node "Efghijkl", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass25,5: resulting range position for range [document, 0, document, 1], node foreignPara1.firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Text node "Efghijkl", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Text node "Efghijkl", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(1, 1, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #document but got #document")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0", "0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass25,6: resulting DOM for range [document, 0, document, 1], node detachedPara1
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Element node <p>Opqrstuv</p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Element node <p>Opqrstuv</p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass25,6: resulting range position for range [document, 0, document, 1], node detachedPara1
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Element node <p>Opqrstuv</p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Element node <p>Opqrstuv</p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(1, 1, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #document but got #document")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0", "0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass25,7: resulting DOM for range [document, 0, document, 1], node detachedPara1.firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Text node "Opqrstuv", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Text node "Opqrstuv", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass25,7: resulting range position for range [document, 0, document, 1], node detachedPara1.firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Text node "Opqrstuv", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Text node "Opqrstuv", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(1, 1, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #document but got #document")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0", "0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass25,8: resulting DOM for range [document, 0, document, 1], node document
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Document node with 2 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Document node with 2 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(1, 1, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_NODE_TYPE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_NODE_TYPE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass25,8: resulting range position for range [document, 0, document, 1], node document
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Document node with 2 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Document node with 2 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(1, 1, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #document but got #document")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0", "0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass25,9: resulting DOM for range [document, 0, document, 1], node detachedDiv
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Element node <div><p>Opqrstuv</p><p>Wxyzabcd</p></div>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Element node <div><p>Opqrstuv</p><p>Wxyzabcd</p></div>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass25,9: resulting range position for range [document, 0, document, 1], node detachedDiv
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Element node <div><p>Opqrstuv</p><p>Wxyzabcd</p></div>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Element node <div><p>Opqrstuv</p><p>Wxyzabcd</p></div>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(1, 1, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #document but got #document")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0", "0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass25,10: resulting DOM for range [document, 0, document, 1], node foreignDoc
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Document node with 3 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Document node with 3 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_NODE_TYPE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_NODE_TYPE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass25,10: resulting range position for range [document, 0, document, 1], node foreignDoc
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Document node with 3 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Document node with 3 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(1, 1, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #document but got #document")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0", "0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass25,11: resulting DOM for range [document, 0, document, 1], node foreignPara2
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Element node <p>Mnopqrst</p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Element node <p>Mnopqrst</p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass25,11: resulting range position for range [document, 0, document, 1], node foreignPara2
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Element node <p>Mnopqrst</p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Element node <p>Mnopqrst</p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(1, 1, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #document but got #document")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0", "0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass25,12: resulting DOM for range [document, 0, document, 1], node xmlDoc
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Document node with 4 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Document node with 4 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_NODE_TYPE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_NODE_TYPE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass25,12: resulting range position for range [document, 0, document, 1], node xmlDoc
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Document node with 4 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Document node with 4 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(1, 1, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #document but got #document")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0", "0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass25,13: resulting DOM for range [document, 0, document, 1], node xmlElement
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Element node <igiveuponcreativenames>do re mi fa so la ti</igiveuponcr..., null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Element node <igiveuponcreativenames>do re mi fa so la ti</igiveuponcr..., null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass25,13: resulting range position for range [document, 0, document, 1], node xmlElement
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Element node <igiveuponcreativenames>do re mi fa so la ti</igiveuponcr..., null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Element node <igiveuponcreativenames>do re mi fa so la ti</igiveuponcr..., null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(1, 1, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #document but got #document")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0", "0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass25,14: resulting DOM for range [document, 0, document, 1], node detachedTextNode
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Text node "Uvwxyzab", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Text node "Uvwxyzab", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass25,14: resulting range position for range [document, 0, document, 1], node detachedTextNode
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Text node "Uvwxyzab", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Text node "Uvwxyzab", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(1, 1, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #document but got #document")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0", "0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass25,15: resulting DOM for range [document, 0, document, 1], node foreignTextNode
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Text node "I admit that I harbor doubts about whether we really need...", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Text node "I admit that I harbor doubts about whether we really need...", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass25,15: resulting range position for range [document, 0, document, 1], node foreignTextNode
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Text node "I admit that I harbor doubts about whether we really need...", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Text node "I admit that I harbor doubts about whether we really need...", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(1, 1, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #document but got #document")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0", "0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass25,16: resulting DOM for range [document, 0, document, 1], node processingInstruction
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(ProcessingInstruction node with target "somePI" and data "Did you know that \":syn sync fromstart\" is very useful wh...", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(ProcessingInstruction node with target "somePI" and data "Did you know that \":syn sync fromstart\" is very useful wh...", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass25,16: resulting range position for range [document, 0, document, 1], node processingInstruction
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(ProcessingInstruction node with target "somePI" and data "Did you know that \":syn sync fromstart\" is very useful wh...", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(ProcessingInstruction node with target "somePI" and data "Did you know that \":syn sync fromstart\" is very useful wh...", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(1, 1, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #document but got #document")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0", "0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass25,17: resulting DOM for range [document, 0, document, 1], node detachedProcessingInstruction
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(ProcessingInstruction node with target "whippoorwill" and data "chirp chirp chirp", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(ProcessingInstruction node with target "whippoorwill" and data "chirp chirp chirp", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass25,17: resulting range position for range [document, 0, document, 1], node detachedProcessingInstruction
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(ProcessingInstruction node with target "whippoorwill" and data "chirp chirp chirp", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(ProcessingInstruction node with target "whippoorwill" and data "chirp chirp chirp", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(1, 1, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #document but got #document")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0", "0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass25,18: resulting DOM for range [document, 0, document, 1], node comment
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Comment node <!--Alphabet soup?-->, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Comment node <!--Alphabet soup?-->, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(1, 1, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass25,18: resulting range position for range [document, 0, document, 1], node comment
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Comment node <!--Alphabet soup?-->, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Comment node <!--Alphabet soup?-->, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(1, 1, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #document but got #document")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0", "0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass25,19: resulting DOM for range [document, 0, document, 1], node detachedComment
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Comment node <!--Stuvwxyz-->, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Comment node <!--Stuvwxyz-->, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass25,19: resulting range position for range [document, 0, document, 1], node detachedComment
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Comment node <!--Stuvwxyz-->, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Comment node <!--Stuvwxyz-->, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(1, 1, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #document but got #document")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0", "0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass25,20: resulting DOM for range [document, 0, document, 1], node docfrag
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(DocumentFragment node with 0 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(DocumentFragment node with 0 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_NODE_TYPE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_NODE_TYPE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass25,20: resulting range position for range [document, 0, document, 1], node docfrag
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(DocumentFragment node with 0 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(DocumentFragment node with 0 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(1, 1, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #document but got #document")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0", "0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass25,21: resulting DOM for range [document, 0, document, 1], node doctype
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(1, 1, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_NODE_TYPE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_NODE_TYPE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass25,21: resulting range position for range [document, 0, document, 1], node doctype
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(1, 1, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #document but got #document")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0", "0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass25,22: resulting DOM for range [document, 0, document, 1], node foreignDoctype
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_NODE_TYPE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_NODE_TYPE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass25,22: resulting range position for range [document, 0, document, 1], node foreignDoctype
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(1, 1, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #document but got #document")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0", "0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass26,0: resulting DOM for range [document, 0, document, 2], node paras[0]
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Range test iframe   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012   "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and c...", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Range test iframe   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012   "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and c...", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(1, 1, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass26,0: resulting range position for range [document, 0, document, 2], node paras[0]
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Range test iframe   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012   "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and c...", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Range test iframe   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012   "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and c...", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #document but got #document")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0", "0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass26,1: resulting DOM for range [document, 0, document, 2], node paras[0].firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Range test iframe   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012   "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and c...", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Range test iframe   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012   "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and c...", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(1, 1, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass26,1: resulting range position for range [document, 0, document, 2], node paras[0].firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Range test iframe   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012   "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and c...", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Range test iframe   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012   "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and c...", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #document but got #document")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0", "0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass26,2: resulting DOM for range [document, 0, document, 2], node paras[1].firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Range test iframe   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012   "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and c...", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Range test iframe   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012   "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and c...", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Text node "Ijklmnop ", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Text node "Ijklmnop ", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(1, 1, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass26,2: resulting range position for range [document, 0, document, 2], node paras[1].firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Range test iframe   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012   "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and c...", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Range test iframe   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012   "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and c...", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Text node "Ijklmnop ", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Text node "Ijklmnop ", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #document but got #document")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0", "0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass26,3: resulting DOM for range [document, 0, document, 2], node paras[5].firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Range test iframe   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012   "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and c...", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Range test iframe   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012   "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and c...", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Node object of unknown type, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Node object of unknown type, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(1, 1, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass26,3: resulting range position for range [document, 0, document, 2], node paras[5].firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Range test iframe   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012   "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and c...", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Range test iframe   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012   "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and c...", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Node object of unknown type, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Node object of unknown type, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #document but got #document")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0", "0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass26,4: resulting DOM for range [document, 0, document, 2], node foreignPara1
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Range test iframe   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012   "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and c...", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Range test iframe   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012   "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and c...", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Element node <p>Efghijkl</p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Element node <p>Efghijkl</p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass26,4: resulting range position for range [document, 0, document, 2], node foreignPara1
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Range test iframe   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012   "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and c...", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Range test iframe   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012   "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and c...", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Element node <p>Efghijkl</p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Element node <p>Efghijkl</p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #document but got #document")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0", "0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass26,5: resulting DOM for range [document, 0, document, 2], node foreignPara1.firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Range test iframe   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012   "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and c...", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Range test iframe   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012   "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and c...", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Text node "Efghijkl", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Text node "Efghijkl", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass26,5: resulting range position for range [document, 0, document, 2], node foreignPara1.firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Range test iframe   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012   "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and c...", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Range test iframe   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012   "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and c...", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Text node "Efghijkl", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Text node "Efghijkl", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #document but got #document")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0", "0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass26,6: resulting DOM for range [document, 0, document, 2], node detachedPara1
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Range test iframe   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012   "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and c...", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Range test iframe   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012   "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and c...", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Element node <p>Opqrstuv</p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Element node <p>Opqrstuv</p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass26,6: resulting range position for range [document, 0, document, 2], node detachedPara1
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Range test iframe   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012   "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and c...", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Range test iframe   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012   "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and c...", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Element node <p>Opqrstuv</p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Element node <p>Opqrstuv</p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #document but got #document")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0", "0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass26,7: resulting DOM for range [document, 0, document, 2], node detachedPara1.firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Range test iframe   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012   "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and c...", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Range test iframe   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012   "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and c...", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Text node "Opqrstuv", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Text node "Opqrstuv", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass26,7: resulting range position for range [document, 0, document, 2], node detachedPara1.firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Range test iframe   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012   "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and c...", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Range test iframe   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012   "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and c...", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Text node "Opqrstuv", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Text node "Opqrstuv", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #document but got #document")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0", "0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass26,8: resulting DOM for range [document, 0, document, 2], node document
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Range test iframe   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012   "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and c...", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Range test iframe   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012   "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and c...", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Document node with 2 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Document node with 2 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(1, 1, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_NODE_TYPE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_NODE_TYPE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass26,8: resulting range position for range [document, 0, document, 2], node document
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Range test iframe   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012   "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and c...", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Range test iframe   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012   "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and c...", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Document node with 2 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Document node with 2 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #document but got #document")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0", "0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass26,9: resulting DOM for range [document, 0, document, 2], node detachedDiv
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Range test iframe   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012   "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and c...", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Range test iframe   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012   "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and c...", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Element node <div><p>Opqrstuv</p><p>Wxyzabcd</p></div>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Element node <div><p>Opqrstuv</p><p>Wxyzabcd</p></div>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass26,9: resulting range position for range [document, 0, document, 2], node detachedDiv
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Range test iframe   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012   "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and c...", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Range test iframe   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012   "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and c...", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Element node <div><p>Opqrstuv</p><p>Wxyzabcd</p></div>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Element node <div><p>Opqrstuv</p><p>Wxyzabcd</p></div>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #document but got #document")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0", "0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass26,10: resulting DOM for range [document, 0, document, 2], node foreignDoc
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Range test iframe   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012   "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and c...", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Range test iframe   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012   "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and c...", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Document node with 3 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Document node with 3 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_NODE_TYPE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_NODE_TYPE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass26,10: resulting range position for range [document, 0, document, 2], node foreignDoc
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Range test iframe   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012   "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and c...", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Range test iframe   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012   "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and c...", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Document node with 3 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Document node with 3 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #document but got #document")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0", "0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass26,11: resulting DOM for range [document, 0, document, 2], node foreignPara2
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Range test iframe   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012   "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and c...", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Range test iframe   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012   "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and c...", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Element node <p>Mnopqrst</p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Element node <p>Mnopqrst</p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass26,11: resulting range position for range [document, 0, document, 2], node foreignPara2
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Range test iframe   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012   "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and c...", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Range test iframe   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012   "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and c...", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Element node <p>Mnopqrst</p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Element node <p>Mnopqrst</p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #document but got #document")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0", "0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass26,12: resulting DOM for range [document, 0, document, 2], node xmlDoc
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Range test iframe   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012   "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and c...", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Range test iframe   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012   "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and c...", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Document node with 4 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Document node with 4 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_NODE_TYPE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_NODE_TYPE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass26,12: resulting range position for range [document, 0, document, 2], node xmlDoc
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Range test iframe   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012   "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and c...", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Range test iframe   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012   "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and c...", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Document node with 4 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Document node with 4 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #document but got #document")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0", "0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass26,13: resulting DOM for range [document, 0, document, 2], node xmlElement
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Range test iframe   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012   "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and c...", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Range test iframe   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012   "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and c...", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Element node <igiveuponcreativenames>do re mi fa so la ti</igiveuponcr..., null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Element node <igiveuponcreativenames>do re mi fa so la ti</igiveuponcr..., null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass26,13: resulting range position for range [document, 0, document, 2], node xmlElement
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Range test iframe   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012   "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and c...", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Range test iframe   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012   "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and c...", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Element node <igiveuponcreativenames>do re mi fa so la ti</igiveuponcr..., null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Element node <igiveuponcreativenames>do re mi fa so la ti</igiveuponcr..., null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #document but got #document")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0", "0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass26,14: resulting DOM for range [document, 0, document, 2], node detachedTextNode
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Range test iframe   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012   "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and c...", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Range test iframe   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012   "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and c...", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Text node "Uvwxyzab", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Text node "Uvwxyzab", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass26,14: resulting range position for range [document, 0, document, 2], node detachedTextNode
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Range test iframe   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012   "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and c...", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Range test iframe   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012   "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and c...", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Text node "Uvwxyzab", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Text node "Uvwxyzab", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #document but got #document")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0", "0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass26,15: resulting DOM for range [document, 0, document, 2], node foreignTextNode
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Range test iframe   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012   "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and c...", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Range test iframe   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012   "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and c...", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Text node "I admit that I harbor doubts about whether we really need...", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Text node "I admit that I harbor doubts about whether we really need...", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass26,15: resulting range position for range [document, 0, document, 2], node foreignTextNode
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Range test iframe   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012   "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and c...", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Range test iframe   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012   "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and c...", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Text node "I admit that I harbor doubts about whether we really need...", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Text node "I admit that I harbor doubts about whether we really need...", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #document but got #document")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0", "0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass26,16: resulting DOM for range [document, 0, document, 2], node processingInstruction
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Range test iframe   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012   "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and c...", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Range test iframe   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012   "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and c...", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(ProcessingInstruction node with target "somePI" and data "Did you know that \":syn sync fromstart\" is very useful wh...", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(ProcessingInstruction node with target "somePI" and data "Did you know that \":syn sync fromstart\" is very useful wh...", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass26,16: resulting range position for range [document, 0, document, 2], node processingInstruction
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Range test iframe   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012   "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and c...", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Range test iframe   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012   "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and c...", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(ProcessingInstruction node with target "somePI" and data "Did you know that \":syn sync fromstart\" is very useful wh...", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(ProcessingInstruction node with target "somePI" and data "Did you know that \":syn sync fromstart\" is very useful wh...", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #document but got #document")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0", "0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass26,17: resulting DOM for range [document, 0, document, 2], node detachedProcessingInstruction
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Range test iframe   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012   "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and c...", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Range test iframe   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012   "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and c...", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(ProcessingInstruction node with target "whippoorwill" and data "chirp chirp chirp", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(ProcessingInstruction node with target "whippoorwill" and data "chirp chirp chirp", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass26,17: resulting range position for range [document, 0, document, 2], node detachedProcessingInstruction
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Range test iframe   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012   "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and c...", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Range test iframe   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012   "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and c...", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(ProcessingInstruction node with target "whippoorwill" and data "chirp chirp chirp", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(ProcessingInstruction node with target "whippoorwill" and data "chirp chirp chirp", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #document but got #document")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0", "0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass26,18: resulting DOM for range [document, 0, document, 2], node comment
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Range test iframe   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012   "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and c...", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Range test iframe   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012   "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and c...", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Comment node <!--Alphabet soup?-->, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Comment node <!--Alphabet soup?-->, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(1, 1, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass26,18: resulting range position for range [document, 0, document, 2], node comment
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Range test iframe   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012   "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and c...", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Range test iframe   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012   "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and c...", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Comment node <!--Alphabet soup?-->, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Comment node <!--Alphabet soup?-->, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #document but got #document")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0", "0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass26,19: resulting DOM for range [document, 0, document, 2], node detachedComment
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Range test iframe   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012   "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and c...", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Range test iframe   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012   "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and c...", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Comment node <!--Stuvwxyz-->, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Comment node <!--Stuvwxyz-->, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass26,19: resulting range position for range [document, 0, document, 2], node detachedComment
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Range test iframe   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012   "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and c...", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Range test iframe   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012   "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and c...", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Comment node <!--Stuvwxyz-->, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Comment node <!--Stuvwxyz-->, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #document but got #document")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0", "0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass26,20: resulting DOM for range [document, 0, document, 2], node docfrag
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Range test iframe   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012   "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and c...", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Range test iframe   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012   "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and c...", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(DocumentFragment node with 0 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(DocumentFragment node with 0 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_NODE_TYPE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_NODE_TYPE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass26,20: resulting range position for range [document, 0, document, 2], node docfrag
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Range test iframe   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012   "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and c...", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Range test iframe   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012   "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and c...", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(DocumentFragment node with 0 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(DocumentFragment node with 0 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #document but got #document")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0", "0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass26,21: resulting DOM for range [document, 0, document, 2], node doctype
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Range test iframe   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012   "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and c...", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Range test iframe   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012   "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and c...", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(1, 1, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_NODE_TYPE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_NODE_TYPE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass26,21: resulting range position for range [document, 0, document, 2], node doctype
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Range test iframe   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012   "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and c...", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Range test iframe   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012   "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and c...", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #document but got #document")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0", "0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass26,22: resulting DOM for range [document, 0, document, 2], node foreignDoctype
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Range test iframe   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012   "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and c...", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Range test iframe   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012   "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and c...", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_NODE_TYPE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_NODE_TYPE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass26,22: resulting range position for range [document, 0, document, 2], node foreignDoctype
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Range test iframe   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012   "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and c...", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Range test iframe   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012   "use strict";  // This script only exists because we want to evaluate the range endpoints // in each iframe using that iframe's local variables set up by common.js.  It // just creates the range and does nothing else.  The data is returned via // window.testRange, and if an exception is thrown, it's put in // window.unexpectedException. window.unexpectedException = null;  function run() {   try {     window.unexpectedException = null;      if (typeof window.testNodeInput != "undefined") {       window.testNode = eval(window.testNodeInput);     }      var rangeEndpoints;     if (typeof window.testRangeInput == "undefined") {       // Use the hash (old way of doing things, bad because it requires       // navigation)       if (location.hash == "") {         return;       }       rangeEndpoints = eval(location.hash.substr(1));     } else {       // Get the variable directly off the window, faster and c...", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #document but got #document")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0", "0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass27,0: resulting DOM for range [comment, 2, comment, 3], node paras[0]
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(1, 1, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass27,0: resulting range position for range [comment, 2, comment, 3], node paras[0]
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Element node <p id="a"></p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Element node <p id="a"></p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(2, 2, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #comment but got #comment")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-6", "0-1-1-0-6", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass27,1: resulting DOM for range [comment, 2, comment, 3], node paras[0].firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(1, 1, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass27,1: resulting range position for range [comment, 2, comment, 3], node paras[0].firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(2, 2, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #comment but got #comment")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-6", "0-1-1-0-6", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass27,2: resulting DOM for range [comment, 2, comment, 3], node paras[1].firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Text node "Ijklmnop ", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Text node "Ijklmnop ", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(1, 1, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass27,2: resulting range position for range [comment, 2, comment, 3], node paras[1].firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Text node "Ijklmnop ", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Text node "Ijklmnop ", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(2, 2, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #comment but got #comment")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-6", "0-1-1-0-6", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass27,3: resulting DOM for range [comment, 2, comment, 3], node paras[5].firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Node object of unknown type, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Node object of unknown type, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(1, 1, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass27,3: resulting range position for range [comment, 2, comment, 3], node paras[5].firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Node object of unknown type, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Node object of unknown type, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(2, 2, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #comment but got #comment")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-6", "0-1-1-0-6", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass27,4: resulting DOM for range [comment, 2, comment, 3], node foreignPara1
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Element node <p>Efghijkl</p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Element node <p>Efghijkl</p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass27,4: resulting range position for range [comment, 2, comment, 3], node foreignPara1
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Element node <p></p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Element node <p></p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(2, 2, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #comment but got #comment")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-6", "0-1-1-0-6", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass27,5: resulting DOM for range [comment, 2, comment, 3], node foreignPara1.firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Text node "Efghijkl", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Text node "Efghijkl", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass27,5: resulting range position for range [comment, 2, comment, 3], node foreignPara1.firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Text node "Efghijkl", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Text node "Efghijkl", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(2, 2, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #comment but got #comment")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-6", "0-1-1-0-6", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass27,6: resulting DOM for range [comment, 2, comment, 3], node detachedPara1
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Element node <p>Opqrstuv</p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Element node <p>Opqrstuv</p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass27,6: resulting range position for range [comment, 2, comment, 3], node detachedPara1
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Element node <p></p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Element node <p></p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(2, 2, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #comment but got #comment")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-6", "0-1-1-0-6", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass27,7: resulting DOM for range [comment, 2, comment, 3], node detachedPara1.firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Text node "Opqrstuv", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Text node "Opqrstuv", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass27,7: resulting range position for range [comment, 2, comment, 3], node detachedPara1.firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Text node "Opqrstuv", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Text node "Opqrstuv", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(2, 2, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #comment but got #comment")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-6", "0-1-1-0-6", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass27,8: resulting DOM for range [comment, 2, comment, 3], node document
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Document node with 2 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Document node with 2 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(1, 1, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_NODE_TYPE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_NODE_TYPE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass27,8: resulting range position for range [comment, 2, comment, 3], node document
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Document node with 2 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Document node with 2 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(2, 2, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(3, 3, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #comment but got #comment")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-6", "0-1-1-0-6", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass27,9: resulting DOM for range [comment, 2, comment, 3], node detachedDiv
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Element node <div><p>Opqrstuv</p><p>Wxyzabcd</p></div>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Element node <div><p>Opqrstuv</p><p>Wxyzabcd</p></div>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass27,9: resulting range position for range [comment, 2, comment, 3], node detachedDiv
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Element node <div></div>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Element node <div></div>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(2, 2, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #comment but got #comment")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-6", "0-1-1-0-6", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass27,10: resulting DOM for range [comment, 2, comment, 3], node foreignDoc
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Document node with 3 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Document node with 3 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_NODE_TYPE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_NODE_TYPE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass27,10: resulting range position for range [comment, 2, comment, 3], node foreignDoc
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Document node with 3 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Document node with 3 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(2, 2, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(3, 3, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #comment but got #comment")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-6", "0-1-1-0-6", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass27,11: resulting DOM for range [comment, 2, comment, 3], node foreignPara2
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Element node <p>Mnopqrst</p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Element node <p>Mnopqrst</p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass27,11: resulting range position for range [comment, 2, comment, 3], node foreignPara2
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Element node <p></p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Element node <p></p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(2, 2, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #comment but got #comment")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-6", "0-1-1-0-6", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass27,12: resulting DOM for range [comment, 2, comment, 3], node xmlDoc
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Document node with 4 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Document node with 4 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_NODE_TYPE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_NODE_TYPE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass27,12: resulting range position for range [comment, 2, comment, 3], node xmlDoc
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Document node with 4 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Document node with 4 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(2, 2, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(3, 3, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #comment but got #comment")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-6", "0-1-1-0-6", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass27,13: resulting DOM for range [comment, 2, comment, 3], node xmlElement
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Element node <igiveuponcreativenames>do re mi fa so la ti</igiveuponcr..., null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Element node <igiveuponcreativenames>do re mi fa so la ti</igiveuponcr..., null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass27,13: resulting range position for range [comment, 2, comment, 3], node xmlElement
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Element node <igiveuponcreativenames></igiveuponcreativenames>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Element node <igiveuponcreativenames></igiveuponcreativenames>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(2, 2, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #comment but got #comment")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-6", "0-1-1-0-6", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass27,14: resulting DOM for range [comment, 2, comment, 3], node detachedTextNode
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Text node "Uvwxyzab", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Text node "Uvwxyzab", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass27,14: resulting range position for range [comment, 2, comment, 3], node detachedTextNode
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Text node "Uvwxyzab", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Text node "Uvwxyzab", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(2, 2, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #comment but got #comment")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-6", "0-1-1-0-6", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass27,15: resulting DOM for range [comment, 2, comment, 3], node foreignTextNode
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Text node "I admit that I harbor doubts about whether we really need...", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Text node "I admit that I harbor doubts about whether we really need...", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass27,15: resulting range position for range [comment, 2, comment, 3], node foreignTextNode
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Text node "I admit that I harbor doubts about whether we really need...", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Text node "I admit that I harbor doubts about whether we really need...", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(2, 2, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #comment but got #comment")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-6", "0-1-1-0-6", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass27,16: resulting DOM for range [comment, 2, comment, 3], node processingInstruction
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(ProcessingInstruction node with target "somePI" and data "Did you know that \":syn sync fromstart\" is very useful wh...", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(ProcessingInstruction node with target "somePI" and data "Did you know that \":syn sync fromstart\" is very useful wh...", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass27,16: resulting range position for range [comment, 2, comment, 3], node processingInstruction
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(ProcessingInstruction node with target "somePI" and data "Did you know that \":syn sync fromstart\" is very useful wh...", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(ProcessingInstruction node with target "somePI" and data "Did you know that \":syn sync fromstart\" is very useful wh...", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(2, 2, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #comment but got #comment")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-6", "0-1-1-0-6", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass27,17: resulting DOM for range [comment, 2, comment, 3], node detachedProcessingInstruction
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(ProcessingInstruction node with target "whippoorwill" and data "chirp chirp chirp", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(ProcessingInstruction node with target "whippoorwill" and data "chirp chirp chirp", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass27,17: resulting range position for range [comment, 2, comment, 3], node detachedProcessingInstruction
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(ProcessingInstruction node with target "whippoorwill" and data "chirp chirp chirp", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(ProcessingInstruction node with target "whippoorwill" and data "chirp chirp chirp", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(2, 2, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #comment but got #comment")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-6", "0-1-1-0-6", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass27,18: resulting DOM for range [comment, 2, comment, 3], node comment
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Comment node <!--Alphabet soup?-->, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Comment node <!--Alphabet soup?-->, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(1, 1, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass27,18: resulting range position for range [comment, 2, comment, 3], node comment
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Comment node <!--Alhabet soup?-->, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Comment node <!--Alhabet soup?-->, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(2, 2, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #comment but got #comment")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-6", "0-1-1-0-6", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass27,19: resulting DOM for range [comment, 2, comment, 3], node detachedComment
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Comment node <!--Stuvwxyz-->, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Comment node <!--Stuvwxyz-->, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass27,19: resulting range position for range [comment, 2, comment, 3], node detachedComment
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Comment node <!--Stuvwxyz-->, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Comment node <!--Stuvwxyz-->, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(2, 2, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #comment but got #comment")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-6", "0-1-1-0-6", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass27,20: resulting DOM for range [comment, 2, comment, 3], node docfrag
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(DocumentFragment node with 0 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(DocumentFragment node with 0 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_NODE_TYPE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_NODE_TYPE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass27,20: resulting range position for range [comment, 2, comment, 3], node docfrag
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(DocumentFragment node with 0 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(DocumentFragment node with 0 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(2, 2, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(3, 3, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #comment but got #comment")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-6", "0-1-1-0-6", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass27,21: resulting DOM for range [comment, 2, comment, 3], node doctype
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(1, 1, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_NODE_TYPE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_NODE_TYPE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass27,21: resulting range position for range [comment, 2, comment, 3], node doctype
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(2, 2, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(3, 3, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #comment but got #comment")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-6", "0-1-1-0-6", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass27,22: resulting DOM for range [comment, 2, comment, 3], node foreignDoctype
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_NODE_TYPE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_NODE_TYPE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass27,22: resulting range position for range [comment, 2, comment, 3], node foreignDoctype
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(2, 2, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(3, 3, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #comment but got #comment")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0-6", "0-1-1-0-6", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass28,0: resulting DOM for range [testDiv, 0, comment, 5], node paras[0]
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(1, 1, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_STATE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_STATE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass28,0: resulting range position for range [testDiv, 0, comment, 5], node paras[0]
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(5, 5, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected div but got div")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0", "0-1-1-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass28,1: resulting DOM for range [testDiv, 0, comment, 5], node paras[0].firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(1, 1, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_STATE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_STATE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass28,1: resulting range position for range [testDiv, 0, comment, 5], node paras[0].firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(5, 5, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected div but got div")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0", "0-1-1-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass28,2: resulting DOM for range [testDiv, 0, comment, 5], node paras[1].firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Text node "Ijklmnop ", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Text node "Ijklmnop ", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(1, 1, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_STATE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_STATE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass28,2: resulting range position for range [testDiv, 0, comment, 5], node paras[1].firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Text node "Ijklmnop ", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Text node "Ijklmnop ", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(5, 5, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected div but got div")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0", "0-1-1-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass28,3: resulting DOM for range [testDiv, 0, comment, 5], node paras[5].firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Node object of unknown type, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Node object of unknown type, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(1, 1, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_STATE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_STATE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass28,3: resulting range position for range [testDiv, 0, comment, 5], node paras[5].firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Node object of unknown type, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Node object of unknown type, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(5, 5, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected div but got div")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0", "0-1-1-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass28,4: resulting DOM for range [testDiv, 0, comment, 5], node foreignPara1
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Element node <p>Efghijkl</p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Element node <p>Efghijkl</p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_STATE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_STATE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass28,4: resulting range position for range [testDiv, 0, comment, 5], node foreignPara1
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Element node <p>Efghijkl</p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Element node <p>Efghijkl</p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(5, 5, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected div but got div")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0", "0-1-1-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass28,5: resulting DOM for range [testDiv, 0, comment, 5], node foreignPara1.firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Text node "Efghijkl", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Text node "Efghijkl", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_STATE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_STATE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass28,5: resulting range position for range [testDiv, 0, comment, 5], node foreignPara1.firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Text node "Efghijkl", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Text node "Efghijkl", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(5, 5, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected div but got div")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0", "0-1-1-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass28,6: resulting DOM for range [testDiv, 0, comment, 5], node detachedPara1
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Element node <p>Opqrstuv</p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Element node <p>Opqrstuv</p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_STATE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_STATE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass28,6: resulting range position for range [testDiv, 0, comment, 5], node detachedPara1
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Element node <p>Opqrstuv</p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Element node <p>Opqrstuv</p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(5, 5, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected div but got div")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0", "0-1-1-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass28,7: resulting DOM for range [testDiv, 0, comment, 5], node detachedPara1.firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Text node "Opqrstuv", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Text node "Opqrstuv", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_STATE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_STATE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass28,7: resulting range position for range [testDiv, 0, comment, 5], node detachedPara1.firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Text node "Opqrstuv", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Text node "Opqrstuv", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(5, 5, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected div but got div")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0", "0-1-1-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass28,8: resulting DOM for range [testDiv, 0, comment, 5], node document
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Document node with 2 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Document node with 2 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(1, 1, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_STATE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_STATE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass28,8: resulting range position for range [testDiv, 0, comment, 5], node document
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Document node with 2 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Document node with 2 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(5, 5, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected div but got div")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0", "0-1-1-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass28,9: resulting DOM for range [testDiv, 0, comment, 5], node detachedDiv
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Element node <div><p>Opqrstuv</p><p>Wxyzabcd</p></div>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Element node <div><p>Opqrstuv</p><p>Wxyzabcd</p></div>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_STATE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_STATE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass28,9: resulting range position for range [testDiv, 0, comment, 5], node detachedDiv
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Element node <div><p>Opqrstuv</p><p>Wxyzabcd</p></div>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Element node <div><p>Opqrstuv</p><p>Wxyzabcd</p></div>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(5, 5, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected div but got div")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0", "0-1-1-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass28,10: resulting DOM for range [testDiv, 0, comment, 5], node foreignDoc
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Document node with 3 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Document node with 3 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_STATE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_STATE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass28,10: resulting range position for range [testDiv, 0, comment, 5], node foreignDoc
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Document node with 3 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Document node with 3 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(5, 5, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected div but got div")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0", "0-1-1-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass28,11: resulting DOM for range [testDiv, 0, comment, 5], node foreignPara2
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Element node <p>Mnopqrst</p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Element node <p>Mnopqrst</p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_STATE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_STATE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass28,11: resulting range position for range [testDiv, 0, comment, 5], node foreignPara2
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Element node <p>Mnopqrst</p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Element node <p>Mnopqrst</p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(5, 5, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected div but got div")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0", "0-1-1-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass28,12: resulting DOM for range [testDiv, 0, comment, 5], node xmlDoc
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Document node with 4 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Document node with 4 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_STATE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_STATE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass28,12: resulting range position for range [testDiv, 0, comment, 5], node xmlDoc
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Document node with 4 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Document node with 4 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(5, 5, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected div but got div")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0", "0-1-1-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass28,13: resulting DOM for range [testDiv, 0, comment, 5], node xmlElement
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Element node <igiveuponcreativenames>do re mi fa so la ti</igiveuponcr..., null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Element node <igiveuponcreativenames>do re mi fa so la ti</igiveuponcr..., null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_STATE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_STATE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass28,13: resulting range position for range [testDiv, 0, comment, 5], node xmlElement
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Element node <igiveuponcreativenames>do re mi fa so la ti</igiveuponcr..., null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Element node <igiveuponcreativenames>do re mi fa so la ti</igiveuponcr..., null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(5, 5, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected div but got div")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0", "0-1-1-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass28,14: resulting DOM for range [testDiv, 0, comment, 5], node detachedTextNode
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Text node "Uvwxyzab", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Text node "Uvwxyzab", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_STATE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_STATE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass28,14: resulting range position for range [testDiv, 0, comment, 5], node detachedTextNode
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Text node "Uvwxyzab", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Text node "Uvwxyzab", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(5, 5, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected div but got div")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0", "0-1-1-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass28,15: resulting DOM for range [testDiv, 0, comment, 5], node foreignTextNode
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Text node "I admit that I harbor doubts about whether we really need...", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Text node "I admit that I harbor doubts about whether we really need...", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_STATE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_STATE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass28,15: resulting range position for range [testDiv, 0, comment, 5], node foreignTextNode
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Text node "I admit that I harbor doubts about whether we really need...", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Text node "I admit that I harbor doubts about whether we really need...", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(5, 5, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected div but got div")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0", "0-1-1-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass28,16: resulting DOM for range [testDiv, 0, comment, 5], node processingInstruction
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(ProcessingInstruction node with target "somePI" and data "Did you know that \":syn sync fromstart\" is very useful wh...", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(ProcessingInstruction node with target "somePI" and data "Did you know that \":syn sync fromstart\" is very useful wh...", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_STATE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_STATE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass28,16: resulting range position for range [testDiv, 0, comment, 5], node processingInstruction
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(ProcessingInstruction node with target "somePI" and data "Did you know that \":syn sync fromstart\" is very useful wh...", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(ProcessingInstruction node with target "somePI" and data "Did you know that \":syn sync fromstart\" is very useful wh...", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(5, 5, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected div but got div")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0", "0-1-1-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass28,17: resulting DOM for range [testDiv, 0, comment, 5], node detachedProcessingInstruction
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(ProcessingInstruction node with target "whippoorwill" and data "chirp chirp chirp", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(ProcessingInstruction node with target "whippoorwill" and data "chirp chirp chirp", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_STATE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_STATE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass28,17: resulting range position for range [testDiv, 0, comment, 5], node detachedProcessingInstruction
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(ProcessingInstruction node with target "whippoorwill" and data "chirp chirp chirp", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(ProcessingInstruction node with target "whippoorwill" and data "chirp chirp chirp", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(5, 5, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected div but got div")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0", "0-1-1-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass28,18: resulting DOM for range [testDiv, 0, comment, 5], node comment
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Comment node <!--Alphabet soup?-->, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Comment node <!--Alphabet soup?-->, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(1, 1, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_STATE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_STATE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass28,18: resulting range position for range [testDiv, 0, comment, 5], node comment
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Comment node <!--Alphabet soup?-->, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Comment node <!--Alphabet soup?-->, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(5, 5, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected div but got div")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0", "0-1-1-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass28,19: resulting DOM for range [testDiv, 0, comment, 5], node detachedComment
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Comment node <!--Stuvwxyz-->, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Comment node <!--Stuvwxyz-->, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_STATE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_STATE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass28,19: resulting range position for range [testDiv, 0, comment, 5], node detachedComment
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Comment node <!--Stuvwxyz-->, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Comment node <!--Stuvwxyz-->, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(5, 5, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected div but got div")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0", "0-1-1-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass28,20: resulting DOM for range [testDiv, 0, comment, 5], node docfrag
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(DocumentFragment node with 0 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(DocumentFragment node with 0 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_STATE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_STATE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass28,20: resulting range position for range [testDiv, 0, comment, 5], node docfrag
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(DocumentFragment node with 0 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(DocumentFragment node with 0 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(5, 5, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected div but got div")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0", "0-1-1-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass28,21: resulting DOM for range [testDiv, 0, comment, 5], node doctype
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(1, 1, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_STATE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_STATE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass28,21: resulting range position for range [testDiv, 0, comment, 5], node doctype
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(5, 5, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected div but got div")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0", "0-1-1-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass28,22: resulting DOM for range [testDiv, 0, comment, 5], node foreignDoctype
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_STATE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_STATE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass28,22: resulting range position for range [testDiv, 0, comment, 5], node foreignDoctype
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn123456789012", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(5, 5, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected div but got div")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1-0", "0-1-1-0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass29,0: resulting DOM for range [foreignDoc, 1, foreignComment, 2], node paras[0]
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "EfghijklMnopqrstI admit that I harbor doubts about whether we really need so many things to test, but it's too late to stop now.", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "EfghijklMnopqrstI admit that I harbor doubts about whether we really need so many things to test, but it's too late to stop now.", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_STATE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_STATE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass29,0: resulting range position for range [foreignDoc, 1, foreignComment, 2], node paras[0]
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "EfghijklMnopqrstI admit that I harbor doubts about whether we really need so many things to test, but it's too late to stop now.", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "EfghijklMnopqrstI admit that I harbor doubts about whether we really need so many things to test, but it's too late to stop now.", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(1, 1, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #document but got #document")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0", "0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass29,1: resulting DOM for range [foreignDoc, 1, foreignComment, 2], node paras[0].firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "EfghijklMnopqrstI admit that I harbor doubts about whether we really need so many things to test, but it's too late to stop now.", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "EfghijklMnopqrstI admit that I harbor doubts about whether we really need so many things to test, but it's too late to stop now.", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_STATE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_STATE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass29,1: resulting range position for range [foreignDoc, 1, foreignComment, 2], node paras[0].firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "EfghijklMnopqrstI admit that I harbor doubts about whether we really need so many things to test, but it's too late to stop now.", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "EfghijklMnopqrstI admit that I harbor doubts about whether we really need so many things to test, but it's too late to stop now.", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(1, 1, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #document but got #document")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0", "0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass29,2: resulting DOM for range [foreignDoc, 1, foreignComment, 2], node paras[1].firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "EfghijklMnopqrstI admit that I harbor doubts about whether we really need so many things to test, but it's too late to stop now.", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "EfghijklMnopqrstI admit that I harbor doubts about whether we really need so many things to test, but it's too late to stop now.", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Text node "Ijklmnop ", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Text node "Ijklmnop ", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_STATE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_STATE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass29,2: resulting range position for range [foreignDoc, 1, foreignComment, 2], node paras[1].firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "EfghijklMnopqrstI admit that I harbor doubts about whether we really need so many things to test, but it's too late to stop now.", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "EfghijklMnopqrstI admit that I harbor doubts about whether we really need so many things to test, but it's too late to stop now.", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Text node "Ijklmnop ", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Text node "Ijklmnop ", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(1, 1, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #document but got #document")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0", "0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass29,3: resulting DOM for range [foreignDoc, 1, foreignComment, 2], node paras[5].firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "EfghijklMnopqrstI admit that I harbor doubts about whether we really need so many things to test, but it's too late to stop now.", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "EfghijklMnopqrstI admit that I harbor doubts about whether we really need so many things to test, but it's too late to stop now.", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Node object of unknown type, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Node object of unknown type, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_STATE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_STATE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass29,3: resulting range position for range [foreignDoc, 1, foreignComment, 2], node paras[5].firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "EfghijklMnopqrstI admit that I harbor doubts about whether we really need so many things to test, but it's too late to stop now.", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "EfghijklMnopqrstI admit that I harbor doubts about whether we really need so many things to test, but it's too late to stop now.", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Node object of unknown type, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Node object of unknown type, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(1, 1, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #document but got #document")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0", "0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass29,4: resulting DOM for range [foreignDoc, 1, foreignComment, 2], node foreignPara1
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "EfghijklMnopqrstI admit that I harbor doubts about whether we really need so many things to test, but it's too late to stop now.", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "EfghijklMnopqrstI admit that I harbor doubts about whether we really need so many things to test, but it's too late to stop now.", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Element node <p>Efghijkl</p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Element node <p>Efghijkl</p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(1, 1, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_STATE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_STATE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass29,4: resulting range position for range [foreignDoc, 1, foreignComment, 2], node foreignPara1
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "EfghijklMnopqrstI admit that I harbor doubts about whether we really need so many things to test, but it's too late to stop now.", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "EfghijklMnopqrstI admit that I harbor doubts about whether we really need so many things to test, but it's too late to stop now.", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Element node <p>Efghijkl</p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Element node <p>Efghijkl</p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(1, 1, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #document but got #document")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0", "0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass29,5: resulting DOM for range [foreignDoc, 1, foreignComment, 2], node foreignPara1.firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "EfghijklMnopqrstI admit that I harbor doubts about whether we really need so many things to test, but it's too late to stop now.", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "EfghijklMnopqrstI admit that I harbor doubts about whether we really need so many things to test, but it's too late to stop now.", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Text node "Efghijkl", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Text node "Efghijkl", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(1, 1, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_STATE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_STATE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass29,5: resulting range position for range [foreignDoc, 1, foreignComment, 2], node foreignPara1.firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "EfghijklMnopqrstI admit that I harbor doubts about whether we really need so many things to test, but it's too late to stop now.", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "EfghijklMnopqrstI admit that I harbor doubts about whether we really need so many things to test, but it's too late to stop now.", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Text node "Efghijkl", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Text node "Efghijkl", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(1, 1, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #document but got #document")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0", "0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass29,6: resulting DOM for range [foreignDoc, 1, foreignComment, 2], node detachedPara1
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "EfghijklMnopqrstI admit that I harbor doubts about whether we really need so many things to test, but it's too late to stop now.", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "EfghijklMnopqrstI admit that I harbor doubts about whether we really need so many things to test, but it's too late to stop now.", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Element node <p>Opqrstuv</p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Element node <p>Opqrstuv</p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_STATE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_STATE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass29,6: resulting range position for range [foreignDoc, 1, foreignComment, 2], node detachedPara1
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "EfghijklMnopqrstI admit that I harbor doubts about whether we really need so many things to test, but it's too late to stop now.", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "EfghijklMnopqrstI admit that I harbor doubts about whether we really need so many things to test, but it's too late to stop now.", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Element node <p>Opqrstuv</p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Element node <p>Opqrstuv</p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(1, 1, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #document but got #document")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0", "0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass29,7: resulting DOM for range [foreignDoc, 1, foreignComment, 2], node detachedPara1.firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "EfghijklMnopqrstI admit that I harbor doubts about whether we really need so many things to test, but it's too late to stop now.", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "EfghijklMnopqrstI admit that I harbor doubts about whether we really need so many things to test, but it's too late to stop now.", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Text node "Opqrstuv", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Text node "Opqrstuv", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_STATE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_STATE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass29,7: resulting range position for range [foreignDoc, 1, foreignComment, 2], node detachedPara1.firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "EfghijklMnopqrstI admit that I harbor doubts about whether we really need so many things to test, but it's too late to stop now.", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "EfghijklMnopqrstI admit that I harbor doubts about whether we really need so many things to test, but it's too late to stop now.", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Text node "Opqrstuv", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Text node "Opqrstuv", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(1, 1, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #document but got #document")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0", "0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass29,8: resulting DOM for range [foreignDoc, 1, foreignComment, 2], node document
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "EfghijklMnopqrstI admit that I harbor doubts about whether we really need so many things to test, but it's too late to stop now.", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "EfghijklMnopqrstI admit that I harbor doubts about whether we really need so many things to test, but it's too late to stop now.", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Document node with 2 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Document node with 2 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_STATE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_STATE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass29,8: resulting range position for range [foreignDoc, 1, foreignComment, 2], node document
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "EfghijklMnopqrstI admit that I harbor doubts about whether we really need so many things to test, but it's too late to stop now.", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "EfghijklMnopqrstI admit that I harbor doubts about whether we really need so many things to test, but it's too late to stop now.", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Document node with 2 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Document node with 2 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(1, 1, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #document but got #document")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0", "0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass29,9: resulting DOM for range [foreignDoc, 1, foreignComment, 2], node detachedDiv
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "EfghijklMnopqrstI admit that I harbor doubts about whether we really need so many things to test, but it's too late to stop now.", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "EfghijklMnopqrstI admit that I harbor doubts about whether we really need so many things to test, but it's too late to stop now.", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Element node <div><p>Opqrstuv</p><p>Wxyzabcd</p></div>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Element node <div><p>Opqrstuv</p><p>Wxyzabcd</p></div>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_STATE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_STATE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass29,9: resulting range position for range [foreignDoc, 1, foreignComment, 2], node detachedDiv
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "EfghijklMnopqrstI admit that I harbor doubts about whether we really need so many things to test, but it's too late to stop now.", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "EfghijklMnopqrstI admit that I harbor doubts about whether we really need so many things to test, but it's too late to stop now.", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Element node <div><p>Opqrstuv</p><p>Wxyzabcd</p></div>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Element node <div><p>Opqrstuv</p><p>Wxyzabcd</p></div>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(1, 1, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #document but got #document")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0", "0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass29,10: resulting DOM for range [foreignDoc, 1, foreignComment, 2], node foreignDoc
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "EfghijklMnopqrstI admit that I harbor doubts about whether we really need so many things to test, but it's too late to stop now.", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "EfghijklMnopqrstI admit that I harbor doubts about whether we really need so many things to test, but it's too late to stop now.", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Document node with 3 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Document node with 3 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(1, 1, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_STATE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_STATE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass29,10: resulting range position for range [foreignDoc, 1, foreignComment, 2], node foreignDoc
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "EfghijklMnopqrstI admit that I harbor doubts about whether we really need so many things to test, but it's too late to stop now.", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "EfghijklMnopqrstI admit that I harbor doubts about whether we really need so many things to test, but it's too late to stop now.", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Document node with 3 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Document node with 3 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(1, 1, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #document but got #document")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0", "0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass29,11: resulting DOM for range [foreignDoc, 1, foreignComment, 2], node foreignPara2
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "EfghijklMnopqrstI admit that I harbor doubts about whether we really need so many things to test, but it's too late to stop now.", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "EfghijklMnopqrstI admit that I harbor doubts about whether we really need so many things to test, but it's too late to stop now.", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Element node <p>Mnopqrst</p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Element node <p>Mnopqrst</p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(1, 1, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_STATE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_STATE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass29,11: resulting range position for range [foreignDoc, 1, foreignComment, 2], node foreignPara2
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "EfghijklMnopqrstI admit that I harbor doubts about whether we really need so many things to test, but it's too late to stop now.", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "EfghijklMnopqrstI admit that I harbor doubts about whether we really need so many things to test, but it's too late to stop now.", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Element node <p>Mnopqrst</p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Element node <p>Mnopqrst</p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(1, 1, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #document but got #document")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0", "0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass29,12: resulting DOM for range [foreignDoc, 1, foreignComment, 2], node xmlDoc
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "EfghijklMnopqrstI admit that I harbor doubts about whether we really need so many things to test, but it's too late to stop now.", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "EfghijklMnopqrstI admit that I harbor doubts about whether we really need so many things to test, but it's too late to stop now.", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Document node with 4 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Document node with 4 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_STATE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_STATE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass29,12: resulting range position for range [foreignDoc, 1, foreignComment, 2], node xmlDoc
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "EfghijklMnopqrstI admit that I harbor doubts about whether we really need so many things to test, but it's too late to stop now.", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "EfghijklMnopqrstI admit that I harbor doubts about whether we really need so many things to test, but it's too late to stop now.", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Document node with 4 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Document node with 4 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(1, 1, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #document but got #document")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0", "0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass29,13: resulting DOM for range [foreignDoc, 1, foreignComment, 2], node xmlElement
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "EfghijklMnopqrstI admit that I harbor doubts about whether we really need so many things to test, but it's too late to stop now.", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "EfghijklMnopqrstI admit that I harbor doubts about whether we really need so many things to test, but it's too late to stop now.", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Element node <igiveuponcreativenames>do re mi fa so la ti</igiveuponcr..., null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Element node <igiveuponcreativenames>do re mi fa so la ti</igiveuponcr..., null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_STATE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_STATE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass29,13: resulting range position for range [foreignDoc, 1, foreignComment, 2], node xmlElement
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "EfghijklMnopqrstI admit that I harbor doubts about whether we really need so many things to test, but it's too late to stop now.", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "EfghijklMnopqrstI admit that I harbor doubts about whether we really need so many things to test, but it's too late to stop now.", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Element node <igiveuponcreativenames>do re mi fa so la ti</igiveuponcr..., null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Element node <igiveuponcreativenames>do re mi fa so la ti</igiveuponcr..., null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(1, 1, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #document but got #document")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0", "0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass29,14: resulting DOM for range [foreignDoc, 1, foreignComment, 2], node detachedTextNode
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "EfghijklMnopqrstI admit that I harbor doubts about whether we really need so many things to test, but it's too late to stop now.", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "EfghijklMnopqrstI admit that I harbor doubts about whether we really need so many things to test, but it's too late to stop now.", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Text node "Uvwxyzab", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Text node "Uvwxyzab", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_STATE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_STATE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass29,14: resulting range position for range [foreignDoc, 1, foreignComment, 2], node detachedTextNode
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "EfghijklMnopqrstI admit that I harbor doubts about whether we really need so many things to test, but it's too late to stop now.", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "EfghijklMnopqrstI admit that I harbor doubts about whether we really need so many things to test, but it's too late to stop now.", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Text node "Uvwxyzab", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Text node "Uvwxyzab", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(1, 1, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #document but got #document")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0", "0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass29,15: resulting DOM for range [foreignDoc, 1, foreignComment, 2], node foreignTextNode
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "EfghijklMnopqrstI admit that I harbor doubts about whether we really need so many things to test, but it's too late to stop now.", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "EfghijklMnopqrstI admit that I harbor doubts about whether we really need so many things to test, but it's too late to stop now.", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Text node "I admit that I harbor doubts about whether we really need...", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Text node "I admit that I harbor doubts about whether we really need...", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(1, 1, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_STATE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_STATE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass29,15: resulting range position for range [foreignDoc, 1, foreignComment, 2], node foreignTextNode
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "EfghijklMnopqrstI admit that I harbor doubts about whether we really need so many things to test, but it's too late to stop now.", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "EfghijklMnopqrstI admit that I harbor doubts about whether we really need so many things to test, but it's too late to stop now.", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Text node "I admit that I harbor doubts about whether we really need...", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Text node "I admit that I harbor doubts about whether we really need...", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(1, 1, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #document but got #document")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0", "0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass29,16: resulting DOM for range [foreignDoc, 1, foreignComment, 2], node processingInstruction
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "EfghijklMnopqrstI admit that I harbor doubts about whether we really need so many things to test, but it's too late to stop now.", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "EfghijklMnopqrstI admit that I harbor doubts about whether we really need so many things to test, but it's too late to stop now.", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(ProcessingInstruction node with target "somePI" and data "Did you know that \":syn sync fromstart\" is very useful wh...", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(ProcessingInstruction node with target "somePI" and data "Did you know that \":syn sync fromstart\" is very useful wh...", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_STATE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_STATE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass29,16: resulting range position for range [foreignDoc, 1, foreignComment, 2], node processingInstruction
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "EfghijklMnopqrstI admit that I harbor doubts about whether we really need so many things to test, but it's too late to stop now.", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "EfghijklMnopqrstI admit that I harbor doubts about whether we really need so many things to test, but it's too late to stop now.", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(ProcessingInstruction node with target "somePI" and data "Did you know that \":syn sync fromstart\" is very useful wh...", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(ProcessingInstruction node with target "somePI" and data "Did you know that \":syn sync fromstart\" is very useful wh...", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(1, 1, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #document but got #document")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0", "0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass29,17: resulting DOM for range [foreignDoc, 1, foreignComment, 2], node detachedProcessingInstruction
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "EfghijklMnopqrstI admit that I harbor doubts about whether we really need so many things to test, but it's too late to stop now.", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "EfghijklMnopqrstI admit that I harbor doubts about whether we really need so many things to test, but it's too late to stop now.", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(ProcessingInstruction node with target "whippoorwill" and data "chirp chirp chirp", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(ProcessingInstruction node with target "whippoorwill" and data "chirp chirp chirp", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_STATE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_STATE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass29,17: resulting range position for range [foreignDoc, 1, foreignComment, 2], node detachedProcessingInstruction
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "EfghijklMnopqrstI admit that I harbor doubts about whether we really need so many things to test, but it's too late to stop now.", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "EfghijklMnopqrstI admit that I harbor doubts about whether we really need so many things to test, but it's too late to stop now.", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(ProcessingInstruction node with target "whippoorwill" and data "chirp chirp chirp", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(ProcessingInstruction node with target "whippoorwill" and data "chirp chirp chirp", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(1, 1, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #document but got #document")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0", "0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass29,18: resulting DOM for range [foreignDoc, 1, foreignComment, 2], node comment
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "EfghijklMnopqrstI admit that I harbor doubts about whether we really need so many things to test, but it's too late to stop now.", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "EfghijklMnopqrstI admit that I harbor doubts about whether we really need so many things to test, but it's too late to stop now.", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Comment node <!--Alphabet soup?-->, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Comment node <!--Alphabet soup?-->, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_STATE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_STATE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass29,18: resulting range position for range [foreignDoc, 1, foreignComment, 2], node comment
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "EfghijklMnopqrstI admit that I harbor doubts about whether we really need so many things to test, but it's too late to stop now.", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "EfghijklMnopqrstI admit that I harbor doubts about whether we really need so many things to test, but it's too late to stop now.", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Comment node <!--Alphabet soup?-->, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Comment node <!--Alphabet soup?-->, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(1, 1, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #document but got #document")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0", "0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass29,19: resulting DOM for range [foreignDoc, 1, foreignComment, 2], node detachedComment
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "EfghijklMnopqrstI admit that I harbor doubts about whether we really need so many things to test, but it's too late to stop now.", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "EfghijklMnopqrstI admit that I harbor doubts about whether we really need so many things to test, but it's too late to stop now.", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Comment node <!--Stuvwxyz-->, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Comment node <!--Stuvwxyz-->, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_STATE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_STATE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass29,19: resulting range position for range [foreignDoc, 1, foreignComment, 2], node detachedComment
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "EfghijklMnopqrstI admit that I harbor doubts about whether we really need so many things to test, but it's too late to stop now.", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "EfghijklMnopqrstI admit that I harbor doubts about whether we really need so many things to test, but it's too late to stop now.", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Comment node <!--Stuvwxyz-->, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Comment node <!--Stuvwxyz-->, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(1, 1, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #document but got #document")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0", "0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass29,20: resulting DOM for range [foreignDoc, 1, foreignComment, 2], node docfrag
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "EfghijklMnopqrstI admit that I harbor doubts about whether we really need so many things to test, but it's too late to stop now.", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "EfghijklMnopqrstI admit that I harbor doubts about whether we really need so many things to test, but it's too late to stop now.", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(DocumentFragment node with 0 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(DocumentFragment node with 0 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_STATE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_STATE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass29,20: resulting range position for range [foreignDoc, 1, foreignComment, 2], node docfrag
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "EfghijklMnopqrstI admit that I harbor doubts about whether we really need so many things to test, but it's too late to stop now.", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "EfghijklMnopqrstI admit that I harbor doubts about whether we really need so many things to test, but it's too late to stop now.", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(DocumentFragment node with 0 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(DocumentFragment node with 0 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(1, 1, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #document but got #document")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0", "0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass29,21: resulting DOM for range [foreignDoc, 1, foreignComment, 2], node doctype
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "EfghijklMnopqrstI admit that I harbor doubts about whether we really need so many things to test, but it's too late to stop now.", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "EfghijklMnopqrstI admit that I harbor doubts about whether we really need so many things to test, but it's too late to stop now.", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_STATE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_STATE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass29,21: resulting range position for range [foreignDoc, 1, foreignComment, 2], node doctype
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "EfghijklMnopqrstI admit that I harbor doubts about whether we really need so many things to test, but it's too late to stop now.", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "EfghijklMnopqrstI admit that I harbor doubts about whether we really need so many things to test, but it's too late to stop now.", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(1, 1, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #document but got #document")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0", "0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass29,22: resulting DOM for range [foreignDoc, 1, foreignComment, 2], node foreignDoctype
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "EfghijklMnopqrstI admit that I harbor doubts about whether we really need so many things to test, but it's too late to stop now.", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "EfghijklMnopqrstI admit that I harbor doubts about whether we really need so many things to test, but it's too late to stop now.", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(1, 1, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_STATE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_STATE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass29,22: resulting range position for range [foreignDoc, 1, foreignComment, 2], node foreignDoctype
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "EfghijklMnopqrstI admit that I harbor doubts about whether we really need so many things to test, but it's too late to stop now.", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "EfghijklMnopqrstI admit that I harbor doubts about whether we really need so many things to test, but it's too late to stop now.", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(1, 1, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #document but got #document")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0", "0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass30,0: resulting DOM for range [foreignDoc.body, 0, foreignTextNode, 36], node paras[0]
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "EfghijklMnopqrstI admit that I harbor doubts about w", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "EfghijklMnopqrstI admit that I harbor doubts about w", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass30,0: resulting range position for range [foreignDoc.body, 0, foreignTextNode, 36], node paras[0]
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "EfghijklMnopqrstI admit that I harbor doubts about w", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "EfghijklMnopqrstI admit that I harbor doubts about w", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Element node <p id="a"><p>Efghijkl</p><p>Mnopqrst</p>I admit that I ha..., null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Element node <p id="a"><p>Efghijkl</p><p>Mnopqrst</p>I admit that I ha..., null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(1, 1, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected body but got body")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1", "0-1-1", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass30,1: resulting DOM for range [foreignDoc.body, 0, foreignTextNode, 36], node paras[0].firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "EfghijklMnopqrstI admit that I harbor doubts about w", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "EfghijklMnopqrstI admit that I harbor doubts about w", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass30,1: resulting range position for range [foreignDoc.body, 0, foreignTextNode, 36], node paras[0].firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(1, 1, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected body but got body")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1", "0-1-1", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass30,2: resulting DOM for range [foreignDoc.body, 0, foreignTextNode, 36], node paras[1].firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "EfghijklMnopqrstI admit that I harbor doubts about w", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "EfghijklMnopqrstI admit that I harbor doubts about w", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Text node "Ijklmnop ", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Text node "Ijklmnop ", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass30,2: resulting range position for range [foreignDoc.body, 0, foreignTextNode, 36], node paras[1].firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Ijklmnop ", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Ijklmnop ", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Text node "Ijklmnop ", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Text node "Ijklmnop ", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(1, 1, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected body but got body")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1", "0-1-1", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass30,3: resulting DOM for range [foreignDoc.body, 0, foreignTextNode, 36], node paras[5].firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "EfghijklMnopqrstI admit that I harbor doubts about w", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "EfghijklMnopqrstI admit that I harbor doubts about w", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Node object of unknown type, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Node object of unknown type, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass30,3: resulting range position for range [foreignDoc.body, 0, foreignTextNode, 36], node paras[5].firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "1234", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "1234", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Node object of unknown type, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Node object of unknown type, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(1, 1, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected body but got body")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1", "0-1-1", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass30,4: resulting DOM for range [foreignDoc.body, 0, foreignTextNode, 36], node foreignPara1
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "EfghijklMnopqrstI admit that I harbor doubts about w", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "EfghijklMnopqrstI admit that I harbor doubts about w", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Element node <p>Efghijkl</p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Element node <p>Efghijkl</p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(1, 1, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass30,4: resulting range position for range [foreignDoc.body, 0, foreignTextNode, 36], node foreignPara1
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "MnopqrstI admit that I harbor doubts about w", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "MnopqrstI admit that I harbor doubts about w", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Element node <p><p>Mnopqrst</p>I admit that I harbor doubts about w</p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Element node <p><p>Mnopqrst</p>I admit that I harbor doubts about w</p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(1, 1, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected body but got body")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1", "0-1-1", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass30,5: resulting DOM for range [foreignDoc.body, 0, foreignTextNode, 36], node foreignPara1.firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "EfghijklMnopqrstI admit that I harbor doubts about w", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "EfghijklMnopqrstI admit that I harbor doubts about w", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Text node "Efghijkl", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Text node "Efghijkl", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(1, 1, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass30,5: resulting range position for range [foreignDoc.body, 0, foreignTextNode, 36], node foreignPara1.firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Efghijkl", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Efghijkl", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Text node "Efghijkl", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Text node "Efghijkl", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(1, 1, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected body but got body")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1", "0-1-1", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass30,6: resulting DOM for range [foreignDoc.body, 0, foreignTextNode, 36], node detachedPara1
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "EfghijklMnopqrstI admit that I harbor doubts about w", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "EfghijklMnopqrstI admit that I harbor doubts about w", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Element node <p>Opqrstuv</p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Element node <p>Opqrstuv</p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass30,6: resulting range position for range [foreignDoc.body, 0, foreignTextNode, 36], node detachedPara1
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "EfghijklMnopqrstI admit that I harbor doubts about w", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "EfghijklMnopqrstI admit that I harbor doubts about w", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Element node <p><p>Efghijkl</p><p>Mnopqrst</p>I admit that I harbor do..., null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Element node <p><p>Efghijkl</p><p>Mnopqrst</p>I admit that I harbor do..., null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(1, 1, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected body but got body")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1", "0-1-1", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass30,7: resulting DOM for range [foreignDoc.body, 0, foreignTextNode, 36], node detachedPara1.firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "EfghijklMnopqrstI admit that I harbor doubts about w", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "EfghijklMnopqrstI admit that I harbor doubts about w", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Text node "Opqrstuv", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Text node "Opqrstuv", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass30,7: resulting range position for range [foreignDoc.body, 0, foreignTextNode, 36], node detachedPara1.firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Opqrstuv", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Opqrstuv", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Text node "Opqrstuv", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Text node "Opqrstuv", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(1, 1, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected body but got body")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1", "0-1-1", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass30,8: resulting DOM for range [foreignDoc.body, 0, foreignTextNode, 36], node document
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "EfghijklMnopqrstI admit that I harbor doubts about w", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "EfghijklMnopqrstI admit that I harbor doubts about w", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Document node with 2 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Document node with 2 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_NODE_TYPE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_NODE_TYPE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass30,8: resulting range position for range [foreignDoc.body, 0, foreignTextNode, 36], node document
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "EfghijklMnopqrstI admit that I harbor doubts about w", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "EfghijklMnopqrstI admit that I harbor doubts about w", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Document node with 2 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Document node with 2 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(36, 36, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected body but got body")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1", "0-1-1", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass30,9: resulting DOM for range [foreignDoc.body, 0, foreignTextNode, 36], node detachedDiv
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "EfghijklMnopqrstI admit that I harbor doubts about w", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "EfghijklMnopqrstI admit that I harbor doubts about w", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Element node <div><p>Opqrstuv</p><p>Wxyzabcd</p></div>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Element node <div><p>Opqrstuv</p><p>Wxyzabcd</p></div>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass30,9: resulting range position for range [foreignDoc.body, 0, foreignTextNode, 36], node detachedDiv
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "EfghijklMnopqrstI admit that I harbor doubts about w", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "EfghijklMnopqrstI admit that I harbor doubts about w", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Element node <div><p>Efghijkl</p><p>Mnopqrst</p>I admit that I harbor ..., null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Element node <div><p>Efghijkl</p><p>Mnopqrst</p>I admit that I harbor ..., null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(1, 1, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected body but got body")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1", "0-1-1", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass30,10: resulting DOM for range [foreignDoc.body, 0, foreignTextNode, 36], node foreignDoc
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "EfghijklMnopqrstI admit that I harbor doubts about w", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "EfghijklMnopqrstI admit that I harbor doubts about w", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Document node with 3 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Document node with 3 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(1, 1, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_NODE_TYPE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_NODE_TYPE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass30,10: resulting range position for range [foreignDoc.body, 0, foreignTextNode, 36], node foreignDoc
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "EfghijklMnopqrstI admit that I harbor doubts about w", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "EfghijklMnopqrstI admit that I harbor doubts about w", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Document node with 3 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Document node with 3 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(36, 36, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected body but got body")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1", "0-1-1", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass30,11: resulting DOM for range [foreignDoc.body, 0, foreignTextNode, 36], node foreignPara2
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "EfghijklMnopqrstI admit that I harbor doubts about w", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "EfghijklMnopqrstI admit that I harbor doubts about w", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Element node <p>Mnopqrst</p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Element node <p>Mnopqrst</p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(1, 1, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass30,11: resulting range position for range [foreignDoc.body, 0, foreignTextNode, 36], node foreignPara2
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "EfghijklI admit that I harbor doubts about w", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "EfghijklI admit that I harbor doubts about w", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Element node <p><p>Efghijkl</p>I admit that I harbor doubts about w</p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Element node <p><p>Efghijkl</p>I admit that I harbor doubts about w</p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(1, 1, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected body but got body")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1", "0-1-1", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass30,12: resulting DOM for range [foreignDoc.body, 0, foreignTextNode, 36], node xmlDoc
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "EfghijklMnopqrstI admit that I harbor doubts about w", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "EfghijklMnopqrstI admit that I harbor doubts about w", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Document node with 4 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Document node with 4 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_NODE_TYPE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_NODE_TYPE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass30,12: resulting range position for range [foreignDoc.body, 0, foreignTextNode, 36], node xmlDoc
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "EfghijklMnopqrstI admit that I harbor doubts about w", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "EfghijklMnopqrstI admit that I harbor doubts about w", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Document node with 4 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Document node with 4 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(36, 36, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected body but got body")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1", "0-1-1", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass30,13: resulting DOM for range [foreignDoc.body, 0, foreignTextNode, 36], node xmlElement
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "EfghijklMnopqrstI admit that I harbor doubts about w", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "EfghijklMnopqrstI admit that I harbor doubts about w", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Element node <igiveuponcreativenames>do re mi fa so la ti</igiveuponcr..., null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Element node <igiveuponcreativenames>do re mi fa so la ti</igiveuponcr..., null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass30,13: resulting range position for range [foreignDoc.body, 0, foreignTextNode, 36], node xmlElement
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "EfghijklMnopqrstI admit that I harbor doubts about w", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "EfghijklMnopqrstI admit that I harbor doubts about w", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Element node <igiveuponcreativenames><p>Efghijkl</p><p>Mnopqrst</p>I a..., null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Element node <igiveuponcreativenames><p>Efghijkl</p><p>Mnopqrst</p>I a..., null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(1, 1, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected body but got body")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1", "0-1-1", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass30,14: resulting DOM for range [foreignDoc.body, 0, foreignTextNode, 36], node detachedTextNode
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "EfghijklMnopqrstI admit that I harbor doubts about w", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "EfghijklMnopqrstI admit that I harbor doubts about w", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Text node "Uvwxyzab", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Text node "Uvwxyzab", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass30,14: resulting range position for range [foreignDoc.body, 0, foreignTextNode, 36], node detachedTextNode
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Uvwxyzab", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Uvwxyzab", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Text node "Uvwxyzab", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Text node "Uvwxyzab", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(1, 1, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected body but got body")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1", "0-1-1", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass30,15: resulting DOM for range [foreignDoc.body, 0, foreignTextNode, 36], node foreignTextNode
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "EfghijklMnopqrstI admit that I harbor doubts about w", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "EfghijklMnopqrstI admit that I harbor doubts about w", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Text node "I admit that I harbor doubts about whether we really need...", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Text node "I admit that I harbor doubts about whether we really need...", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(1, 1, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass30,15: resulting range position for range [foreignDoc.body, 0, foreignTextNode, 36], node foreignTextNode
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "hether we really need so many things to test, but it's too late to stop now.", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "hether we really need so many things to test, but it's too late to stop now.", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Text node "hether we really need so many things to test, but it's to...", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Text node "hether we really need so many things to test, but it's to...", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(1, 1, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected body but got body")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1", "0-1-1", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass30,16: resulting DOM for range [foreignDoc.body, 0, foreignTextNode, 36], node processingInstruction
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "EfghijklMnopqrstI admit that I harbor doubts about w", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "EfghijklMnopqrstI admit that I harbor doubts about w", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(ProcessingInstruction node with target "somePI" and data "Did you know that \":syn sync fromstart\" is very useful wh...", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(ProcessingInstruction node with target "somePI" and data "Did you know that \":syn sync fromstart\" is very useful wh...", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass30,16: resulting range position for range [foreignDoc.body, 0, foreignTextNode, 36], node processingInstruction
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(ProcessingInstruction node with target "somePI" and data "Did you know that \":syn sync fromstart\" is very useful wh...", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(ProcessingInstruction node with target "somePI" and data "Did you know that \":syn sync fromstart\" is very useful wh...", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(1, 1, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected body but got body")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1", "0-1-1", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass30,17: resulting DOM for range [foreignDoc.body, 0, foreignTextNode, 36], node detachedProcessingInstruction
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "EfghijklMnopqrstI admit that I harbor doubts about w", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "EfghijklMnopqrstI admit that I harbor doubts about w", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(ProcessingInstruction node with target "whippoorwill" and data "chirp chirp chirp", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(ProcessingInstruction node with target "whippoorwill" and data "chirp chirp chirp", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass30,17: resulting range position for range [foreignDoc.body, 0, foreignTextNode, 36], node detachedProcessingInstruction
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(ProcessingInstruction node with target "whippoorwill" and data "chirp chirp chirp", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(ProcessingInstruction node with target "whippoorwill" and data "chirp chirp chirp", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(1, 1, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected body but got body")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1", "0-1-1", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass30,18: resulting DOM for range [foreignDoc.body, 0, foreignTextNode, 36], node comment
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "EfghijklMnopqrstI admit that I harbor doubts about w", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "EfghijklMnopqrstI admit that I harbor doubts about w", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Comment node <!--Alphabet soup?-->, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Comment node <!--Alphabet soup?-->, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass30,18: resulting range position for range [foreignDoc.body, 0, foreignTextNode, 36], node comment
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Comment node <!--Alphabet soup?-->, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Comment node <!--Alphabet soup?-->, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(1, 1, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected body but got body")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1", "0-1-1", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass30,19: resulting DOM for range [foreignDoc.body, 0, foreignTextNode, 36], node detachedComment
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "EfghijklMnopqrstI admit that I harbor doubts about w", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "EfghijklMnopqrstI admit that I harbor doubts about w", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Comment node <!--Stuvwxyz-->, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Comment node <!--Stuvwxyz-->, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass30,19: resulting range position for range [foreignDoc.body, 0, foreignTextNode, 36], node detachedComment
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Comment node <!--Stuvwxyz-->, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Comment node <!--Stuvwxyz-->, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(1, 1, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected body but got body")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1", "0-1-1", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass30,20: resulting DOM for range [foreignDoc.body, 0, foreignTextNode, 36], node docfrag
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "EfghijklMnopqrstI admit that I harbor doubts about w", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "EfghijklMnopqrstI admit that I harbor doubts about w", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(DocumentFragment node with 0 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(DocumentFragment node with 0 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_NODE_TYPE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_NODE_TYPE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass30,20: resulting range position for range [foreignDoc.body, 0, foreignTextNode, 36], node docfrag
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "EfghijklMnopqrstI admit that I harbor doubts about w", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "EfghijklMnopqrstI admit that I harbor doubts about w", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(DocumentFragment node with 0 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(DocumentFragment node with 0 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(36, 36, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected body but got body")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1", "0-1-1", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass30,21: resulting DOM for range [foreignDoc.body, 0, foreignTextNode, 36], node doctype
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "EfghijklMnopqrstI admit that I harbor doubts about w", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "EfghijklMnopqrstI admit that I harbor doubts about w", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_NODE_TYPE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_NODE_TYPE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass30,21: resulting range position for range [foreignDoc.body, 0, foreignTextNode, 36], node doctype
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "EfghijklMnopqrstI admit that I harbor doubts about w", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "EfghijklMnopqrstI admit that I harbor doubts about w", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(36, 36, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected body but got body")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1", "0-1-1", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass30,22: resulting DOM for range [foreignDoc.body, 0, foreignTextNode, 36], node foreignDoctype
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "EfghijklMnopqrstI admit that I harbor doubts about w", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "EfghijklMnopqrstI admit that I harbor doubts about w", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(1, 1, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_NODE_TYPE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_NODE_TYPE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass30,22: resulting range position for range [foreignDoc.body, 0, foreignTextNode, 36], node foreignDoctype
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "EfghijklMnopqrstI admit that I harbor doubts about w", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "EfghijklMnopqrstI admit that I harbor doubts about w", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(36, 36, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected body but got body")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-1-1", "0-1-1", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass31,0: resulting DOM for range [xmlDoc, 1, xmlComment, 0], node paras[0]
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "do re mi fa so la ti", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "do re mi fa so la ti", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_STATE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_STATE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass31,0: resulting range position for range [xmlDoc, 1, xmlComment, 0], node paras[0]
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "do re mi fa so la ti", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "do re mi fa so la ti", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(1, 1, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(0, 0, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #document but got #document")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0", "0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass31,1: resulting DOM for range [xmlDoc, 1, xmlComment, 0], node paras[0].firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "do re mi fa so la ti", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "do re mi fa so la ti", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_STATE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_STATE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass31,1: resulting range position for range [xmlDoc, 1, xmlComment, 0], node paras[0].firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "do re mi fa so la ti", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "do re mi fa so la ti", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(1, 1, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(0, 0, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #document but got #document")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0", "0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass31,2: resulting DOM for range [xmlDoc, 1, xmlComment, 0], node paras[1].firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "do re mi fa so la ti", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "do re mi fa so la ti", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Text node "Ijklmnop ", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Text node "Ijklmnop ", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_STATE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_STATE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass31,2: resulting range position for range [xmlDoc, 1, xmlComment, 0], node paras[1].firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "do re mi fa so la ti", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "do re mi fa so la ti", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Text node "Ijklmnop ", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Text node "Ijklmnop ", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(1, 1, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(0, 0, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #document but got #document")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0", "0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass31,3: resulting DOM for range [xmlDoc, 1, xmlComment, 0], node paras[5].firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "do re mi fa so la ti", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "do re mi fa so la ti", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Node object of unknown type, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Node object of unknown type, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_STATE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_STATE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass31,3: resulting range position for range [xmlDoc, 1, xmlComment, 0], node paras[5].firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "do re mi fa so la ti", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "do re mi fa so la ti", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Node object of unknown type, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Node object of unknown type, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(1, 1, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(0, 0, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #document but got #document")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0", "0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass31,4: resulting DOM for range [xmlDoc, 1, xmlComment, 0], node foreignPara1
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "do re mi fa so la ti", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "do re mi fa so la ti", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Element node <p>Efghijkl</p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Element node <p>Efghijkl</p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_STATE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_STATE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass31,4: resulting range position for range [xmlDoc, 1, xmlComment, 0], node foreignPara1
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "do re mi fa so la ti", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "do re mi fa so la ti", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Element node <p>Efghijkl</p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Element node <p>Efghijkl</p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(1, 1, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(0, 0, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #document but got #document")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0", "0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass31,5: resulting DOM for range [xmlDoc, 1, xmlComment, 0], node foreignPara1.firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "do re mi fa so la ti", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "do re mi fa so la ti", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Text node "Efghijkl", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Text node "Efghijkl", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_STATE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_STATE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass31,5: resulting range position for range [xmlDoc, 1, xmlComment, 0], node foreignPara1.firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "do re mi fa so la ti", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "do re mi fa so la ti", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Text node "Efghijkl", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Text node "Efghijkl", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(1, 1, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(0, 0, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #document but got #document")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0", "0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass31,6: resulting DOM for range [xmlDoc, 1, xmlComment, 0], node detachedPara1
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "do re mi fa so la ti", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "do re mi fa so la ti", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Element node <p>Opqrstuv</p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Element node <p>Opqrstuv</p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_STATE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_STATE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass31,6: resulting range position for range [xmlDoc, 1, xmlComment, 0], node detachedPara1
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "do re mi fa so la ti", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "do re mi fa so la ti", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Element node <p>Opqrstuv</p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Element node <p>Opqrstuv</p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(1, 1, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(0, 0, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #document but got #document")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0", "0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass31,7: resulting DOM for range [xmlDoc, 1, xmlComment, 0], node detachedPara1.firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "do re mi fa so la ti", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "do re mi fa so la ti", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Text node "Opqrstuv", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Text node "Opqrstuv", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_STATE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_STATE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass31,7: resulting range position for range [xmlDoc, 1, xmlComment, 0], node detachedPara1.firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "do re mi fa so la ti", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "do re mi fa so la ti", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Text node "Opqrstuv", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Text node "Opqrstuv", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(1, 1, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(0, 0, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #document but got #document")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0", "0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass31,8: resulting DOM for range [xmlDoc, 1, xmlComment, 0], node document
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "do re mi fa so la ti", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "do re mi fa so la ti", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Document node with 2 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Document node with 2 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_STATE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_STATE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass31,8: resulting range position for range [xmlDoc, 1, xmlComment, 0], node document
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "do re mi fa so la ti", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "do re mi fa so la ti", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Document node with 2 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Document node with 2 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(1, 1, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(0, 0, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #document but got #document")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0", "0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass31,9: resulting DOM for range [xmlDoc, 1, xmlComment, 0], node detachedDiv
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "do re mi fa so la ti", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "do re mi fa so la ti", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Element node <div><p>Opqrstuv</p><p>Wxyzabcd</p></div>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Element node <div><p>Opqrstuv</p><p>Wxyzabcd</p></div>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_STATE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_STATE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass31,9: resulting range position for range [xmlDoc, 1, xmlComment, 0], node detachedDiv
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "do re mi fa so la ti", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "do re mi fa so la ti", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Element node <div><p>Opqrstuv</p><p>Wxyzabcd</p></div>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Element node <div><p>Opqrstuv</p><p>Wxyzabcd</p></div>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(1, 1, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(0, 0, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #document but got #document")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0", "0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass31,10: resulting DOM for range [xmlDoc, 1, xmlComment, 0], node foreignDoc
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "do re mi fa so la ti", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "do re mi fa so la ti", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Document node with 3 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Document node with 3 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_STATE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_STATE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass31,10: resulting range position for range [xmlDoc, 1, xmlComment, 0], node foreignDoc
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "do re mi fa so la ti", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "do re mi fa so la ti", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Document node with 3 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Document node with 3 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(1, 1, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(0, 0, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #document but got #document")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0", "0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass31,11: resulting DOM for range [xmlDoc, 1, xmlComment, 0], node foreignPara2
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "do re mi fa so la ti", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "do re mi fa so la ti", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Element node <p>Mnopqrst</p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Element node <p>Mnopqrst</p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_STATE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_STATE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass31,11: resulting range position for range [xmlDoc, 1, xmlComment, 0], node foreignPara2
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "do re mi fa so la ti", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "do re mi fa so la ti", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Element node <p>Mnopqrst</p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Element node <p>Mnopqrst</p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(1, 1, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(0, 0, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #document but got #document")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0", "0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass31,12: resulting DOM for range [xmlDoc, 1, xmlComment, 0], node xmlDoc
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "do re mi fa so la ti", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "do re mi fa so la ti", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Document node with 4 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Document node with 4 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(1, 1, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_STATE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_STATE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass31,12: resulting range position for range [xmlDoc, 1, xmlComment, 0], node xmlDoc
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "do re mi fa so la ti", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "do re mi fa so la ti", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Document node with 4 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Document node with 4 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(1, 1, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(0, 0, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #document but got #document")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0", "0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass31,13: resulting DOM for range [xmlDoc, 1, xmlComment, 0], node xmlElement
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "do re mi fa so la ti", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "do re mi fa so la ti", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Element node <igiveuponcreativenames>do re mi fa so la ti</igiveuponcr..., null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Element node <igiveuponcreativenames>do re mi fa so la ti</igiveuponcr..., null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(1, 1, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_STATE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_STATE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass31,13: resulting range position for range [xmlDoc, 1, xmlComment, 0], node xmlElement
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "do re mi fa so la ti", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "do re mi fa so la ti", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Element node <igiveuponcreativenames>do re mi fa so la ti</igiveuponcr..., null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Element node <igiveuponcreativenames>do re mi fa so la ti</igiveuponcr..., null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(1, 1, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(0, 0, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #document but got #document")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0", "0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass31,14: resulting DOM for range [xmlDoc, 1, xmlComment, 0], node detachedTextNode
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "do re mi fa so la ti", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "do re mi fa so la ti", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Text node "Uvwxyzab", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Text node "Uvwxyzab", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_STATE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_STATE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass31,14: resulting range position for range [xmlDoc, 1, xmlComment, 0], node detachedTextNode
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "do re mi fa so la ti", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "do re mi fa so la ti", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Text node "Uvwxyzab", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Text node "Uvwxyzab", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(1, 1, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(0, 0, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #document but got #document")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0", "0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass31,15: resulting DOM for range [xmlDoc, 1, xmlComment, 0], node foreignTextNode
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "do re mi fa so la ti", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "do re mi fa so la ti", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Text node "I admit that I harbor doubts about whether we really need...", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Text node "I admit that I harbor doubts about whether we really need...", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_STATE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_STATE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass31,15: resulting range position for range [xmlDoc, 1, xmlComment, 0], node foreignTextNode
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "do re mi fa so la ti", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "do re mi fa so la ti", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Text node "I admit that I harbor doubts about whether we really need...", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Text node "I admit that I harbor doubts about whether we really need...", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(1, 1, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(0, 0, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #document but got #document")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0", "0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass31,16: resulting DOM for range [xmlDoc, 1, xmlComment, 0], node processingInstruction
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "do re mi fa so la ti", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "do re mi fa so la ti", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(ProcessingInstruction node with target "somePI" and data "Did you know that \":syn sync fromstart\" is very useful wh...", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(ProcessingInstruction node with target "somePI" and data "Did you know that \":syn sync fromstart\" is very useful wh...", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(1, 1, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_STATE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_STATE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass31,16: resulting range position for range [xmlDoc, 1, xmlComment, 0], node processingInstruction
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "do re mi fa so la ti", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "do re mi fa so la ti", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(ProcessingInstruction node with target "somePI" and data "Did you know that \":syn sync fromstart\" is very useful wh...", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(ProcessingInstruction node with target "somePI" and data "Did you know that \":syn sync fromstart\" is very useful wh...", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(1, 1, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(0, 0, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #document but got #document")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0", "0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass31,17: resulting DOM for range [xmlDoc, 1, xmlComment, 0], node detachedProcessingInstruction
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "do re mi fa so la ti", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "do re mi fa so la ti", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(ProcessingInstruction node with target "whippoorwill" and data "chirp chirp chirp", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(ProcessingInstruction node with target "whippoorwill" and data "chirp chirp chirp", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_STATE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_STATE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass31,17: resulting range position for range [xmlDoc, 1, xmlComment, 0], node detachedProcessingInstruction
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "do re mi fa so la ti", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "do re mi fa so la ti", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(ProcessingInstruction node with target "whippoorwill" and data "chirp chirp chirp", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(ProcessingInstruction node with target "whippoorwill" and data "chirp chirp chirp", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(1, 1, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(0, 0, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #document but got #document")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0", "0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass31,18: resulting DOM for range [xmlDoc, 1, xmlComment, 0], node comment
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "do re mi fa so la ti", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "do re mi fa so la ti", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Comment node <!--Alphabet soup?-->, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Comment node <!--Alphabet soup?-->, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_STATE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_STATE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass31,18: resulting range position for range [xmlDoc, 1, xmlComment, 0], node comment
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "do re mi fa so la ti", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "do re mi fa so la ti", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Comment node <!--Alphabet soup?-->, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Comment node <!--Alphabet soup?-->, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(1, 1, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(0, 0, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #document but got #document")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0", "0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass31,19: resulting DOM for range [xmlDoc, 1, xmlComment, 0], node detachedComment
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "do re mi fa so la ti", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "do re mi fa so la ti", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Comment node <!--Stuvwxyz-->, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Comment node <!--Stuvwxyz-->, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_STATE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_STATE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass31,19: resulting range position for range [xmlDoc, 1, xmlComment, 0], node detachedComment
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "do re mi fa so la ti", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "do re mi fa so la ti", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Comment node <!--Stuvwxyz-->, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Comment node <!--Stuvwxyz-->, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(1, 1, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(0, 0, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #document but got #document")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0", "0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass31,20: resulting DOM for range [xmlDoc, 1, xmlComment, 0], node docfrag
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "do re mi fa so la ti", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "do re mi fa so la ti", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(DocumentFragment node with 0 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(DocumentFragment node with 0 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_STATE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_STATE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass31,20: resulting range position for range [xmlDoc, 1, xmlComment, 0], node docfrag
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "do re mi fa so la ti", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "do re mi fa so la ti", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(DocumentFragment node with 0 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(DocumentFragment node with 0 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(1, 1, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(0, 0, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #document but got #document")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0", "0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass31,21: resulting DOM for range [xmlDoc, 1, xmlComment, 0], node doctype
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "do re mi fa so la ti", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "do re mi fa so la ti", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_STATE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_STATE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass31,21: resulting range position for range [xmlDoc, 1, xmlComment, 0], node doctype
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "do re mi fa so la ti", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "do re mi fa so la ti", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(1, 1, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(0, 0, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #document but got #document")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0", "0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass31,22: resulting DOM for range [xmlDoc, 1, xmlComment, 0], node foreignDoctype
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "do re mi fa so la ti", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "do re mi fa so la ti", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_STATE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_STATE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass31,22: resulting range position for range [xmlDoc, 1, xmlComment, 0], node foreignDoctype
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "do re mi fa so la ti", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "do re mi fa so la ti", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(1, 1, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(0, 0, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #document but got #document")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0", "0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass32,0: resulting DOM for range [detachedTextNode, 0, detachedTextNode, 8], node paras[0]
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Uvwxyzab", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Uvwxyzab", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass32,0: resulting range position for range [detachedTextNode, 0, detachedTextNode, 8], node paras[0]
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Element node <p id="a"></p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Element node <p id="a"></p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(0, 0, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0", "0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass32,1: resulting DOM for range [detachedTextNode, 0, detachedTextNode, 8], node paras[0].firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Uvwxyzab", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Uvwxyzab", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass32,1: resulting range position for range [detachedTextNode, 0, detachedTextNode, 8], node paras[0].firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(0, 0, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0", "0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass32,2: resulting DOM for range [detachedTextNode, 0, detachedTextNode, 8], node paras[1].firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Uvwxyzab", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Uvwxyzab", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Text node "Ijklmnop ", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Text node "Ijklmnop ", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass32,2: resulting range position for range [detachedTextNode, 0, detachedTextNode, 8], node paras[1].firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Text node "Ijklmnop ", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Text node "Ijklmnop ", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(0, 0, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0", "0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass32,3: resulting DOM for range [detachedTextNode, 0, detachedTextNode, 8], node paras[5].firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Uvwxyzab", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Uvwxyzab", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Node object of unknown type, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Node object of unknown type, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass32,3: resulting range position for range [detachedTextNode, 0, detachedTextNode, 8], node paras[5].firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Node object of unknown type, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Node object of unknown type, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(0, 0, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0", "0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass32,4: resulting DOM for range [detachedTextNode, 0, detachedTextNode, 8], node foreignPara1
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Uvwxyzab", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Uvwxyzab", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Element node <p>Efghijkl</p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Element node <p>Efghijkl</p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass32,4: resulting range position for range [detachedTextNode, 0, detachedTextNode, 8], node foreignPara1
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Element node <p></p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Element node <p></p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(0, 0, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0", "0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass32,5: resulting DOM for range [detachedTextNode, 0, detachedTextNode, 8], node foreignPara1.firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Uvwxyzab", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Uvwxyzab", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Text node "Efghijkl", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Text node "Efghijkl", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass32,5: resulting range position for range [detachedTextNode, 0, detachedTextNode, 8], node foreignPara1.firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Text node "Efghijkl", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Text node "Efghijkl", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(0, 0, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0", "0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass32,6: resulting DOM for range [detachedTextNode, 0, detachedTextNode, 8], node detachedPara1
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Uvwxyzab", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Uvwxyzab", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Element node <p>Opqrstuv</p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Element node <p>Opqrstuv</p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass32,6: resulting range position for range [detachedTextNode, 0, detachedTextNode, 8], node detachedPara1
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Element node <p></p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Element node <p></p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(0, 0, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0", "0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass32,7: resulting DOM for range [detachedTextNode, 0, detachedTextNode, 8], node detachedPara1.firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Uvwxyzab", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Uvwxyzab", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Text node "Opqrstuv", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Text node "Opqrstuv", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass32,7: resulting range position for range [detachedTextNode, 0, detachedTextNode, 8], node detachedPara1.firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Text node "Opqrstuv", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Text node "Opqrstuv", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(0, 0, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0", "0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass32,8: resulting DOM for range [detachedTextNode, 0, detachedTextNode, 8], node document
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Uvwxyzab", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Uvwxyzab", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Document node with 2 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Document node with 2 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_NODE_TYPE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_NODE_TYPE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass32,8: resulting range position for range [detachedTextNode, 0, detachedTextNode, 8], node document
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Uvwxyzab", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Uvwxyzab", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Document node with 2 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Document node with 2 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(8, 8, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0", "0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass32,9: resulting DOM for range [detachedTextNode, 0, detachedTextNode, 8], node detachedDiv
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Uvwxyzab", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Uvwxyzab", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Element node <div><p>Opqrstuv</p><p>Wxyzabcd</p></div>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Element node <div><p>Opqrstuv</p><p>Wxyzabcd</p></div>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass32,9: resulting range position for range [detachedTextNode, 0, detachedTextNode, 8], node detachedDiv
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Element node <div></div>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Element node <div></div>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(0, 0, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0", "0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass32,10: resulting DOM for range [detachedTextNode, 0, detachedTextNode, 8], node foreignDoc
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Uvwxyzab", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Uvwxyzab", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Document node with 3 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Document node with 3 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_NODE_TYPE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_NODE_TYPE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass32,10: resulting range position for range [detachedTextNode, 0, detachedTextNode, 8], node foreignDoc
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Uvwxyzab", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Uvwxyzab", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Document node with 3 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Document node with 3 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(8, 8, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0", "0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass32,11: resulting DOM for range [detachedTextNode, 0, detachedTextNode, 8], node foreignPara2
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Uvwxyzab", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Uvwxyzab", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Element node <p>Mnopqrst</p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Element node <p>Mnopqrst</p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass32,11: resulting range position for range [detachedTextNode, 0, detachedTextNode, 8], node foreignPara2
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Element node <p></p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Element node <p></p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(0, 0, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0", "0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass32,12: resulting DOM for range [detachedTextNode, 0, detachedTextNode, 8], node xmlDoc
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Uvwxyzab", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Uvwxyzab", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Document node with 4 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Document node with 4 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_NODE_TYPE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_NODE_TYPE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass32,12: resulting range position for range [detachedTextNode, 0, detachedTextNode, 8], node xmlDoc
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Uvwxyzab", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Uvwxyzab", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Document node with 4 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Document node with 4 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(8, 8, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0", "0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass32,13: resulting DOM for range [detachedTextNode, 0, detachedTextNode, 8], node xmlElement
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Uvwxyzab", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Uvwxyzab", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Element node <igiveuponcreativenames>do re mi fa so la ti</igiveuponcr..., null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Element node <igiveuponcreativenames>do re mi fa so la ti</igiveuponcr..., null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass32,13: resulting range position for range [detachedTextNode, 0, detachedTextNode, 8], node xmlElement
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Element node <igiveuponcreativenames></igiveuponcreativenames>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Element node <igiveuponcreativenames></igiveuponcreativenames>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(0, 0, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0", "0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass32,14: resulting DOM for range [detachedTextNode, 0, detachedTextNode, 8], node detachedTextNode
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Uvwxyzab", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Uvwxyzab", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Text node "Uvwxyzab", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Text node "Uvwxyzab", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(1, 1, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass32,14: resulting range position for range [detachedTextNode, 0, detachedTextNode, 8], node detachedTextNode
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Text node "", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Text node "", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(0, 0, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0", "0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass32,15: resulting DOM for range [detachedTextNode, 0, detachedTextNode, 8], node foreignTextNode
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Uvwxyzab", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Uvwxyzab", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Text node "I admit that I harbor doubts about whether we really need...", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Text node "I admit that I harbor doubts about whether we really need...", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass32,15: resulting range position for range [detachedTextNode, 0, detachedTextNode, 8], node foreignTextNode
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Text node "I admit that I harbor doubts about whether we really need...", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Text node "I admit that I harbor doubts about whether we really need...", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(0, 0, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0", "0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass32,16: resulting DOM for range [detachedTextNode, 0, detachedTextNode, 8], node processingInstruction
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Uvwxyzab", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Uvwxyzab", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(ProcessingInstruction node with target "somePI" and data "Did you know that \":syn sync fromstart\" is very useful wh...", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(ProcessingInstruction node with target "somePI" and data "Did you know that \":syn sync fromstart\" is very useful wh...", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass32,16: resulting range position for range [detachedTextNode, 0, detachedTextNode, 8], node processingInstruction
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(ProcessingInstruction node with target "somePI" and data "Did you know that \":syn sync fromstart\" is very useful wh...", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(ProcessingInstruction node with target "somePI" and data "Did you know that \":syn sync fromstart\" is very useful wh...", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(0, 0, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0", "0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass32,17: resulting DOM for range [detachedTextNode, 0, detachedTextNode, 8], node detachedProcessingInstruction
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Uvwxyzab", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Uvwxyzab", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(ProcessingInstruction node with target "whippoorwill" and data "chirp chirp chirp", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(ProcessingInstruction node with target "whippoorwill" and data "chirp chirp chirp", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass32,17: resulting range position for range [detachedTextNode, 0, detachedTextNode, 8], node detachedProcessingInstruction
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(ProcessingInstruction node with target "whippoorwill" and data "chirp chirp chirp", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(ProcessingInstruction node with target "whippoorwill" and data "chirp chirp chirp", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(0, 0, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0", "0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass32,18: resulting DOM for range [detachedTextNode, 0, detachedTextNode, 8], node comment
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Uvwxyzab", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Uvwxyzab", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Comment node <!--Alphabet soup?-->, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Comment node <!--Alphabet soup?-->, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass32,18: resulting range position for range [detachedTextNode, 0, detachedTextNode, 8], node comment
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Comment node <!--Alphabet soup?-->, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Comment node <!--Alphabet soup?-->, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(0, 0, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0", "0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass32,19: resulting DOM for range [detachedTextNode, 0, detachedTextNode, 8], node detachedComment
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Uvwxyzab", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Uvwxyzab", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Comment node <!--Stuvwxyz-->, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Comment node <!--Stuvwxyz-->, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass32,19: resulting range position for range [detachedTextNode, 0, detachedTextNode, 8], node detachedComment
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Comment node <!--Stuvwxyz-->, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Comment node <!--Stuvwxyz-->, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(0, 0, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0", "0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass32,20: resulting DOM for range [detachedTextNode, 0, detachedTextNode, 8], node docfrag
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Uvwxyzab", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Uvwxyzab", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(DocumentFragment node with 0 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(DocumentFragment node with 0 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_NODE_TYPE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_NODE_TYPE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass32,20: resulting range position for range [detachedTextNode, 0, detachedTextNode, 8], node docfrag
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Uvwxyzab", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Uvwxyzab", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(DocumentFragment node with 0 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(DocumentFragment node with 0 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(8, 8, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0", "0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass32,21: resulting DOM for range [detachedTextNode, 0, detachedTextNode, 8], node doctype
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Uvwxyzab", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Uvwxyzab", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_NODE_TYPE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_NODE_TYPE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass32,21: resulting range position for range [detachedTextNode, 0, detachedTextNode, 8], node doctype
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Uvwxyzab", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Uvwxyzab", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(8, 8, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0", "0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass32,22: resulting DOM for range [detachedTextNode, 0, detachedTextNode, 8], node foreignDoctype
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Uvwxyzab", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Uvwxyzab", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_NODE_TYPE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_NODE_TYPE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass32,22: resulting range position for range [detachedTextNode, 0, detachedTextNode, 8], node foreignDoctype
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Uvwxyzab", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Uvwxyzab", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(8, 8, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0", "0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass33,0: resulting DOM for range [detachedForeignTextNode, 0, detachedForeignTextNode, 8], node paras[0]
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Cdefghij", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Cdefghij", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass33,0: resulting range position for range [detachedForeignTextNode, 0, detachedForeignTextNode, 8], node paras[0]
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Element node <p id="a"></p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Element node <p id="a"></p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(0, 0, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0", "0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass33,1: resulting DOM for range [detachedForeignTextNode, 0, detachedForeignTextNode, 8], node paras[0].firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Cdefghij", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Cdefghij", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass33,1: resulting range position for range [detachedForeignTextNode, 0, detachedForeignTextNode, 8], node paras[0].firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(0, 0, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0", "0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass33,2: resulting DOM for range [detachedForeignTextNode, 0, detachedForeignTextNode, 8], node paras[1].firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Cdefghij", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Cdefghij", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Text node "Ijklmnop ", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Text node "Ijklmnop ", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass33,2: resulting range position for range [detachedForeignTextNode, 0, detachedForeignTextNode, 8], node paras[1].firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Text node "Ijklmnop ", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Text node "Ijklmnop ", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(0, 0, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0", "0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass33,3: resulting DOM for range [detachedForeignTextNode, 0, detachedForeignTextNode, 8], node paras[5].firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Cdefghij", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Cdefghij", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Node object of unknown type, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Node object of unknown type, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass33,3: resulting range position for range [detachedForeignTextNode, 0, detachedForeignTextNode, 8], node paras[5].firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Node object of unknown type, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Node object of unknown type, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(0, 0, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0", "0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass33,4: resulting DOM for range [detachedForeignTextNode, 0, detachedForeignTextNode, 8], node foreignPara1
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Cdefghij", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Cdefghij", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Element node <p>Efghijkl</p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Element node <p>Efghijkl</p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass33,4: resulting range position for range [detachedForeignTextNode, 0, detachedForeignTextNode, 8], node foreignPara1
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Element node <p></p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Element node <p></p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(0, 0, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0", "0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass33,5: resulting DOM for range [detachedForeignTextNode, 0, detachedForeignTextNode, 8], node foreignPara1.firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Cdefghij", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Cdefghij", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Text node "Efghijkl", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Text node "Efghijkl", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass33,5: resulting range position for range [detachedForeignTextNode, 0, detachedForeignTextNode, 8], node foreignPara1.firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Text node "Efghijkl", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Text node "Efghijkl", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(0, 0, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0", "0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass33,6: resulting DOM for range [detachedForeignTextNode, 0, detachedForeignTextNode, 8], node detachedPara1
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Cdefghij", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Cdefghij", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Element node <p>Opqrstuv</p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Element node <p>Opqrstuv</p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass33,6: resulting range position for range [detachedForeignTextNode, 0, detachedForeignTextNode, 8], node detachedPara1
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Element node <p></p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Element node <p></p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(0, 0, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0", "0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass33,7: resulting DOM for range [detachedForeignTextNode, 0, detachedForeignTextNode, 8], node detachedPara1.firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Cdefghij", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Cdefghij", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Text node "Opqrstuv", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Text node "Opqrstuv", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass33,7: resulting range position for range [detachedForeignTextNode, 0, detachedForeignTextNode, 8], node detachedPara1.firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Text node "Opqrstuv", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Text node "Opqrstuv", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(0, 0, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0", "0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass33,8: resulting DOM for range [detachedForeignTextNode, 0, detachedForeignTextNode, 8], node document
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Cdefghij", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Cdefghij", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Document node with 2 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Document node with 2 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_NODE_TYPE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_NODE_TYPE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass33,8: resulting range position for range [detachedForeignTextNode, 0, detachedForeignTextNode, 8], node document
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Cdefghij", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Cdefghij", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Document node with 2 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Document node with 2 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(8, 8, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0", "0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass33,9: resulting DOM for range [detachedForeignTextNode, 0, detachedForeignTextNode, 8], node detachedDiv
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Cdefghij", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Cdefghij", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Element node <div><p>Opqrstuv</p><p>Wxyzabcd</p></div>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Element node <div><p>Opqrstuv</p><p>Wxyzabcd</p></div>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass33,9: resulting range position for range [detachedForeignTextNode, 0, detachedForeignTextNode, 8], node detachedDiv
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Element node <div></div>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Element node <div></div>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(0, 0, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0", "0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass33,10: resulting DOM for range [detachedForeignTextNode, 0, detachedForeignTextNode, 8], node foreignDoc
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Cdefghij", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Cdefghij", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Document node with 3 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Document node with 3 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_NODE_TYPE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_NODE_TYPE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass33,10: resulting range position for range [detachedForeignTextNode, 0, detachedForeignTextNode, 8], node foreignDoc
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Cdefghij", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Cdefghij", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Document node with 3 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Document node with 3 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(8, 8, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0", "0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass33,11: resulting DOM for range [detachedForeignTextNode, 0, detachedForeignTextNode, 8], node foreignPara2
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Cdefghij", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Cdefghij", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Element node <p>Mnopqrst</p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Element node <p>Mnopqrst</p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass33,11: resulting range position for range [detachedForeignTextNode, 0, detachedForeignTextNode, 8], node foreignPara2
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Element node <p></p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Element node <p></p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(0, 0, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0", "0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass33,12: resulting DOM for range [detachedForeignTextNode, 0, detachedForeignTextNode, 8], node xmlDoc
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Cdefghij", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Cdefghij", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Document node with 4 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Document node with 4 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_NODE_TYPE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_NODE_TYPE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass33,12: resulting range position for range [detachedForeignTextNode, 0, detachedForeignTextNode, 8], node xmlDoc
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Cdefghij", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Cdefghij", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Document node with 4 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Document node with 4 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(8, 8, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0", "0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass33,13: resulting DOM for range [detachedForeignTextNode, 0, detachedForeignTextNode, 8], node xmlElement
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Cdefghij", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Cdefghij", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Element node <igiveuponcreativenames>do re mi fa so la ti</igiveuponcr..., null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Element node <igiveuponcreativenames>do re mi fa so la ti</igiveuponcr..., null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass33,13: resulting range position for range [detachedForeignTextNode, 0, detachedForeignTextNode, 8], node xmlElement
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Element node <igiveuponcreativenames></igiveuponcreativenames>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Element node <igiveuponcreativenames></igiveuponcreativenames>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(0, 0, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0", "0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass33,14: resulting DOM for range [detachedForeignTextNode, 0, detachedForeignTextNode, 8], node detachedTextNode
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Cdefghij", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Cdefghij", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Text node "Uvwxyzab", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Text node "Uvwxyzab", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass33,14: resulting range position for range [detachedForeignTextNode, 0, detachedForeignTextNode, 8], node detachedTextNode
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Text node "Uvwxyzab", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Text node "Uvwxyzab", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(0, 0, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0", "0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass33,15: resulting DOM for range [detachedForeignTextNode, 0, detachedForeignTextNode, 8], node foreignTextNode
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Cdefghij", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Cdefghij", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Text node "I admit that I harbor doubts about whether we really need...", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Text node "I admit that I harbor doubts about whether we really need...", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass33,15: resulting range position for range [detachedForeignTextNode, 0, detachedForeignTextNode, 8], node foreignTextNode
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Text node "I admit that I harbor doubts about whether we really need...", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Text node "I admit that I harbor doubts about whether we really need...", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(0, 0, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0", "0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass33,16: resulting DOM for range [detachedForeignTextNode, 0, detachedForeignTextNode, 8], node processingInstruction
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Cdefghij", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Cdefghij", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(ProcessingInstruction node with target "somePI" and data "Did you know that \":syn sync fromstart\" is very useful wh...", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(ProcessingInstruction node with target "somePI" and data "Did you know that \":syn sync fromstart\" is very useful wh...", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass33,16: resulting range position for range [detachedForeignTextNode, 0, detachedForeignTextNode, 8], node processingInstruction
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(ProcessingInstruction node with target "somePI" and data "Did you know that \":syn sync fromstart\" is very useful wh...", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(ProcessingInstruction node with target "somePI" and data "Did you know that \":syn sync fromstart\" is very useful wh...", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(0, 0, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0", "0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass33,17: resulting DOM for range [detachedForeignTextNode, 0, detachedForeignTextNode, 8], node detachedProcessingInstruction
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Cdefghij", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Cdefghij", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(ProcessingInstruction node with target "whippoorwill" and data "chirp chirp chirp", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(ProcessingInstruction node with target "whippoorwill" and data "chirp chirp chirp", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass33,17: resulting range position for range [detachedForeignTextNode, 0, detachedForeignTextNode, 8], node detachedProcessingInstruction
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(ProcessingInstruction node with target "whippoorwill" and data "chirp chirp chirp", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(ProcessingInstruction node with target "whippoorwill" and data "chirp chirp chirp", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(0, 0, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0", "0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass33,18: resulting DOM for range [detachedForeignTextNode, 0, detachedForeignTextNode, 8], node comment
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Cdefghij", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Cdefghij", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Comment node <!--Alphabet soup?-->, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Comment node <!--Alphabet soup?-->, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass33,18: resulting range position for range [detachedForeignTextNode, 0, detachedForeignTextNode, 8], node comment
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Comment node <!--Alphabet soup?-->, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Comment node <!--Alphabet soup?-->, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(0, 0, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0", "0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass33,19: resulting DOM for range [detachedForeignTextNode, 0, detachedForeignTextNode, 8], node detachedComment
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Cdefghij", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Cdefghij", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Comment node <!--Stuvwxyz-->, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Comment node <!--Stuvwxyz-->, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass33,19: resulting range position for range [detachedForeignTextNode, 0, detachedForeignTextNode, 8], node detachedComment
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Comment node <!--Stuvwxyz-->, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Comment node <!--Stuvwxyz-->, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(0, 0, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0", "0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass33,20: resulting DOM for range [detachedForeignTextNode, 0, detachedForeignTextNode, 8], node docfrag
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Cdefghij", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Cdefghij", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(DocumentFragment node with 0 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(DocumentFragment node with 0 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_NODE_TYPE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_NODE_TYPE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass33,20: resulting range position for range [detachedForeignTextNode, 0, detachedForeignTextNode, 8], node docfrag
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Cdefghij", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Cdefghij", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(DocumentFragment node with 0 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(DocumentFragment node with 0 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(8, 8, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0", "0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass33,21: resulting DOM for range [detachedForeignTextNode, 0, detachedForeignTextNode, 8], node doctype
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Cdefghij", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Cdefghij", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_NODE_TYPE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_NODE_TYPE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass33,21: resulting range position for range [detachedForeignTextNode, 0, detachedForeignTextNode, 8], node doctype
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Cdefghij", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Cdefghij", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(8, 8, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0", "0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass33,22: resulting DOM for range [detachedForeignTextNode, 0, detachedForeignTextNode, 8], node foreignDoctype
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Cdefghij", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Cdefghij", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_NODE_TYPE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_NODE_TYPE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass33,22: resulting range position for range [detachedForeignTextNode, 0, detachedForeignTextNode, 8], node foreignDoctype
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Cdefghij", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Cdefghij", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(8, 8, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0", "0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass34,0: resulting DOM for range [detachedXmlTextNode, 0, detachedXmlTextNode, 8], node paras[0]
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Klmnopqr", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Klmnopqr", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass34,0: resulting range position for range [detachedXmlTextNode, 0, detachedXmlTextNode, 8], node paras[0]
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Element node <p id="a"></p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Element node <p id="a"></p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(0, 0, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0", "0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass34,1: resulting DOM for range [detachedXmlTextNode, 0, detachedXmlTextNode, 8], node paras[0].firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Klmnopqr", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Klmnopqr", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass34,1: resulting range position for range [detachedXmlTextNode, 0, detachedXmlTextNode, 8], node paras[0].firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(0, 0, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0", "0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass34,2: resulting DOM for range [detachedXmlTextNode, 0, detachedXmlTextNode, 8], node paras[1].firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Klmnopqr", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Klmnopqr", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Text node "Ijklmnop ", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Text node "Ijklmnop ", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass34,2: resulting range position for range [detachedXmlTextNode, 0, detachedXmlTextNode, 8], node paras[1].firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Text node "Ijklmnop ", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Text node "Ijklmnop ", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(0, 0, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0", "0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass34,3: resulting DOM for range [detachedXmlTextNode, 0, detachedXmlTextNode, 8], node paras[5].firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Klmnopqr", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Klmnopqr", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Node object of unknown type, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Node object of unknown type, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass34,3: resulting range position for range [detachedXmlTextNode, 0, detachedXmlTextNode, 8], node paras[5].firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Node object of unknown type, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Node object of unknown type, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(0, 0, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0", "0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass34,4: resulting DOM for range [detachedXmlTextNode, 0, detachedXmlTextNode, 8], node foreignPara1
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Klmnopqr", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Klmnopqr", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Element node <p>Efghijkl</p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Element node <p>Efghijkl</p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass34,4: resulting range position for range [detachedXmlTextNode, 0, detachedXmlTextNode, 8], node foreignPara1
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Element node <p></p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Element node <p></p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(0, 0, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0", "0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass34,5: resulting DOM for range [detachedXmlTextNode, 0, detachedXmlTextNode, 8], node foreignPara1.firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Klmnopqr", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Klmnopqr", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Text node "Efghijkl", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Text node "Efghijkl", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass34,5: resulting range position for range [detachedXmlTextNode, 0, detachedXmlTextNode, 8], node foreignPara1.firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Text node "Efghijkl", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Text node "Efghijkl", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(0, 0, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0", "0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass34,6: resulting DOM for range [detachedXmlTextNode, 0, detachedXmlTextNode, 8], node detachedPara1
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Klmnopqr", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Klmnopqr", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Element node <p>Opqrstuv</p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Element node <p>Opqrstuv</p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass34,6: resulting range position for range [detachedXmlTextNode, 0, detachedXmlTextNode, 8], node detachedPara1
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Element node <p></p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Element node <p></p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(0, 0, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0", "0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass34,7: resulting DOM for range [detachedXmlTextNode, 0, detachedXmlTextNode, 8], node detachedPara1.firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Klmnopqr", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Klmnopqr", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Text node "Opqrstuv", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Text node "Opqrstuv", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass34,7: resulting range position for range [detachedXmlTextNode, 0, detachedXmlTextNode, 8], node detachedPara1.firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Text node "Opqrstuv", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Text node "Opqrstuv", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(0, 0, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0", "0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass34,8: resulting DOM for range [detachedXmlTextNode, 0, detachedXmlTextNode, 8], node document
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Klmnopqr", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Klmnopqr", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Document node with 2 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Document node with 2 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_NODE_TYPE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_NODE_TYPE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass34,8: resulting range position for range [detachedXmlTextNode, 0, detachedXmlTextNode, 8], node document
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Klmnopqr", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Klmnopqr", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Document node with 2 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Document node with 2 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(8, 8, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0", "0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass34,9: resulting DOM for range [detachedXmlTextNode, 0, detachedXmlTextNode, 8], node detachedDiv
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Klmnopqr", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Klmnopqr", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Element node <div><p>Opqrstuv</p><p>Wxyzabcd</p></div>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Element node <div><p>Opqrstuv</p><p>Wxyzabcd</p></div>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass34,9: resulting range position for range [detachedXmlTextNode, 0, detachedXmlTextNode, 8], node detachedDiv
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Element node <div></div>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Element node <div></div>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(0, 0, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0", "0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass34,10: resulting DOM for range [detachedXmlTextNode, 0, detachedXmlTextNode, 8], node foreignDoc
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Klmnopqr", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Klmnopqr", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Document node with 3 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Document node with 3 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_NODE_TYPE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_NODE_TYPE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass34,10: resulting range position for range [detachedXmlTextNode, 0, detachedXmlTextNode, 8], node foreignDoc
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Klmnopqr", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Klmnopqr", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Document node with 3 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Document node with 3 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(8, 8, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0", "0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass34,11: resulting DOM for range [detachedXmlTextNode, 0, detachedXmlTextNode, 8], node foreignPara2
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Klmnopqr", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Klmnopqr", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Element node <p>Mnopqrst</p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Element node <p>Mnopqrst</p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass34,11: resulting range position for range [detachedXmlTextNode, 0, detachedXmlTextNode, 8], node foreignPara2
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Element node <p></p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Element node <p></p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(0, 0, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0", "0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass34,12: resulting DOM for range [detachedXmlTextNode, 0, detachedXmlTextNode, 8], node xmlDoc
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Klmnopqr", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Klmnopqr", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Document node with 4 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Document node with 4 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_NODE_TYPE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_NODE_TYPE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass34,12: resulting range position for range [detachedXmlTextNode, 0, detachedXmlTextNode, 8], node xmlDoc
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Klmnopqr", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Klmnopqr", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Document node with 4 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Document node with 4 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(8, 8, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0", "0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass34,13: resulting DOM for range [detachedXmlTextNode, 0, detachedXmlTextNode, 8], node xmlElement
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Klmnopqr", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Klmnopqr", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Element node <igiveuponcreativenames>do re mi fa so la ti</igiveuponcr..., null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Element node <igiveuponcreativenames>do re mi fa so la ti</igiveuponcr..., null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass34,13: resulting range position for range [detachedXmlTextNode, 0, detachedXmlTextNode, 8], node xmlElement
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Element node <igiveuponcreativenames></igiveuponcreativenames>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Element node <igiveuponcreativenames></igiveuponcreativenames>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(0, 0, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0", "0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass34,14: resulting DOM for range [detachedXmlTextNode, 0, detachedXmlTextNode, 8], node detachedTextNode
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Klmnopqr", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Klmnopqr", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Text node "Uvwxyzab", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Text node "Uvwxyzab", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass34,14: resulting range position for range [detachedXmlTextNode, 0, detachedXmlTextNode, 8], node detachedTextNode
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Text node "Uvwxyzab", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Text node "Uvwxyzab", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(0, 0, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0", "0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass34,15: resulting DOM for range [detachedXmlTextNode, 0, detachedXmlTextNode, 8], node foreignTextNode
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Klmnopqr", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Klmnopqr", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Text node "I admit that I harbor doubts about whether we really need...", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Text node "I admit that I harbor doubts about whether we really need...", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass34,15: resulting range position for range [detachedXmlTextNode, 0, detachedXmlTextNode, 8], node foreignTextNode
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Text node "I admit that I harbor doubts about whether we really need...", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Text node "I admit that I harbor doubts about whether we really need...", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(0, 0, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0", "0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass34,16: resulting DOM for range [detachedXmlTextNode, 0, detachedXmlTextNode, 8], node processingInstruction
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Klmnopqr", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Klmnopqr", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(ProcessingInstruction node with target "somePI" and data "Did you know that \":syn sync fromstart\" is very useful wh...", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(ProcessingInstruction node with target "somePI" and data "Did you know that \":syn sync fromstart\" is very useful wh...", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass34,16: resulting range position for range [detachedXmlTextNode, 0, detachedXmlTextNode, 8], node processingInstruction
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(ProcessingInstruction node with target "somePI" and data "Did you know that \":syn sync fromstart\" is very useful wh...", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(ProcessingInstruction node with target "somePI" and data "Did you know that \":syn sync fromstart\" is very useful wh...", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(0, 0, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0", "0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass34,17: resulting DOM for range [detachedXmlTextNode, 0, detachedXmlTextNode, 8], node detachedProcessingInstruction
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Klmnopqr", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Klmnopqr", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(ProcessingInstruction node with target "whippoorwill" and data "chirp chirp chirp", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(ProcessingInstruction node with target "whippoorwill" and data "chirp chirp chirp", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass34,17: resulting range position for range [detachedXmlTextNode, 0, detachedXmlTextNode, 8], node detachedProcessingInstruction
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(ProcessingInstruction node with target "whippoorwill" and data "chirp chirp chirp", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(ProcessingInstruction node with target "whippoorwill" and data "chirp chirp chirp", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(0, 0, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0", "0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass34,18: resulting DOM for range [detachedXmlTextNode, 0, detachedXmlTextNode, 8], node comment
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Klmnopqr", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Klmnopqr", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Comment node <!--Alphabet soup?-->, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Comment node <!--Alphabet soup?-->, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass34,18: resulting range position for range [detachedXmlTextNode, 0, detachedXmlTextNode, 8], node comment
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Comment node <!--Alphabet soup?-->, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Comment node <!--Alphabet soup?-->, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(0, 0, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0", "0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass34,19: resulting DOM for range [detachedXmlTextNode, 0, detachedXmlTextNode, 8], node detachedComment
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Klmnopqr", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Klmnopqr", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Comment node <!--Stuvwxyz-->, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Comment node <!--Stuvwxyz-->, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass34,19: resulting range position for range [detachedXmlTextNode, 0, detachedXmlTextNode, 8], node detachedComment
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Comment node <!--Stuvwxyz-->, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Comment node <!--Stuvwxyz-->, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(0, 0, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0", "0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass34,20: resulting DOM for range [detachedXmlTextNode, 0, detachedXmlTextNode, 8], node docfrag
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Klmnopqr", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Klmnopqr", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(DocumentFragment node with 0 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(DocumentFragment node with 0 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_NODE_TYPE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_NODE_TYPE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass34,20: resulting range position for range [detachedXmlTextNode, 0, detachedXmlTextNode, 8], node docfrag
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Klmnopqr", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Klmnopqr", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(DocumentFragment node with 0 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(DocumentFragment node with 0 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(8, 8, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0", "0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass34,21: resulting DOM for range [detachedXmlTextNode, 0, detachedXmlTextNode, 8], node doctype
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Klmnopqr", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Klmnopqr", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_NODE_TYPE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_NODE_TYPE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass34,21: resulting range position for range [detachedXmlTextNode, 0, detachedXmlTextNode, 8], node doctype
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Klmnopqr", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Klmnopqr", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(8, 8, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0", "0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass34,22: resulting DOM for range [detachedXmlTextNode, 0, detachedXmlTextNode, 8], node foreignDoctype
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "Klmnopqr", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "Klmnopqr", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_NODE_TYPE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_NODE_TYPE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass34,22: resulting range position for range [detachedXmlTextNode, 0, detachedXmlTextNode, 8], node foreignDoctype
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Klmnopqr", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Klmnopqr", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(8, 8, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #text but got #text")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0", "0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass35,0: resulting DOM for range [detachedComment, 3, detachedComment, 4], node paras[0]
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass35,0: resulting range position for range [detachedComment, 3, detachedComment, 4], node paras[0]
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Element node <p id="a"></p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Element node <p id="a"></p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(3, 3, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(3, 3, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #comment but got #comment")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0", "0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass35,1: resulting DOM for range [detachedComment, 3, detachedComment, 4], node paras[0].firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass35,1: resulting range position for range [detachedComment, 3, detachedComment, 4], node paras[0].firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(3, 3, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(3, 3, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #comment but got #comment")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0", "0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass35,2: resulting DOM for range [detachedComment, 3, detachedComment, 4], node paras[1].firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Text node "Ijklmnop ", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Text node "Ijklmnop ", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass35,2: resulting range position for range [detachedComment, 3, detachedComment, 4], node paras[1].firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Text node "Ijklmnop ", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Text node "Ijklmnop ", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(3, 3, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(3, 3, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #comment but got #comment")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0", "0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass35,3: resulting DOM for range [detachedComment, 3, detachedComment, 4], node paras[5].firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Node object of unknown type, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Node object of unknown type, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass35,3: resulting range position for range [detachedComment, 3, detachedComment, 4], node paras[5].firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Node object of unknown type, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Node object of unknown type, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(3, 3, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(3, 3, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #comment but got #comment")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0", "0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass35,4: resulting DOM for range [detachedComment, 3, detachedComment, 4], node foreignPara1
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Element node <p>Efghijkl</p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Element node <p>Efghijkl</p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass35,4: resulting range position for range [detachedComment, 3, detachedComment, 4], node foreignPara1
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Element node <p></p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Element node <p></p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(3, 3, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(3, 3, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #comment but got #comment")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0", "0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass35,5: resulting DOM for range [detachedComment, 3, detachedComment, 4], node foreignPara1.firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Text node "Efghijkl", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Text node "Efghijkl", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass35,5: resulting range position for range [detachedComment, 3, detachedComment, 4], node foreignPara1.firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Text node "Efghijkl", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Text node "Efghijkl", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(3, 3, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(3, 3, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #comment but got #comment")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0", "0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass35,6: resulting DOM for range [detachedComment, 3, detachedComment, 4], node detachedPara1
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Element node <p>Opqrstuv</p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Element node <p>Opqrstuv</p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass35,6: resulting range position for range [detachedComment, 3, detachedComment, 4], node detachedPara1
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Element node <p></p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Element node <p></p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(3, 3, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(3, 3, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #comment but got #comment")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0", "0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass35,7: resulting DOM for range [detachedComment, 3, detachedComment, 4], node detachedPara1.firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Text node "Opqrstuv", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Text node "Opqrstuv", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass35,7: resulting range position for range [detachedComment, 3, detachedComment, 4], node detachedPara1.firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Text node "Opqrstuv", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Text node "Opqrstuv", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(3, 3, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(3, 3, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #comment but got #comment")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0", "0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass35,8: resulting DOM for range [detachedComment, 3, detachedComment, 4], node document
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Document node with 2 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Document node with 2 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_NODE_TYPE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_NODE_TYPE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass35,8: resulting range position for range [detachedComment, 3, detachedComment, 4], node document
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Document node with 2 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Document node with 2 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(3, 3, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(4, 4, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #comment but got #comment")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0", "0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass35,9: resulting DOM for range [detachedComment, 3, detachedComment, 4], node detachedDiv
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Element node <div><p>Opqrstuv</p><p>Wxyzabcd</p></div>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Element node <div><p>Opqrstuv</p><p>Wxyzabcd</p></div>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass35,9: resulting range position for range [detachedComment, 3, detachedComment, 4], node detachedDiv
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Element node <div></div>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Element node <div></div>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(3, 3, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(3, 3, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #comment but got #comment")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0", "0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass35,10: resulting DOM for range [detachedComment, 3, detachedComment, 4], node foreignDoc
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Document node with 3 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Document node with 3 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_NODE_TYPE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_NODE_TYPE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass35,10: resulting range position for range [detachedComment, 3, detachedComment, 4], node foreignDoc
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Document node with 3 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Document node with 3 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(3, 3, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(4, 4, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #comment but got #comment")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0", "0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass35,11: resulting DOM for range [detachedComment, 3, detachedComment, 4], node foreignPara2
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Element node <p>Mnopqrst</p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Element node <p>Mnopqrst</p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass35,11: resulting range position for range [detachedComment, 3, detachedComment, 4], node foreignPara2
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Element node <p></p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Element node <p></p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(3, 3, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(3, 3, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #comment but got #comment")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0", "0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass35,12: resulting DOM for range [detachedComment, 3, detachedComment, 4], node xmlDoc
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Document node with 4 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Document node with 4 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_NODE_TYPE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_NODE_TYPE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass35,12: resulting range position for range [detachedComment, 3, detachedComment, 4], node xmlDoc
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Document node with 4 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Document node with 4 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(3, 3, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(4, 4, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #comment but got #comment")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0", "0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass35,13: resulting DOM for range [detachedComment, 3, detachedComment, 4], node xmlElement
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Element node <igiveuponcreativenames>do re mi fa so la ti</igiveuponcr..., null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Element node <igiveuponcreativenames>do re mi fa so la ti</igiveuponcr..., null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass35,13: resulting range position for range [detachedComment, 3, detachedComment, 4], node xmlElement
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Element node <igiveuponcreativenames></igiveuponcreativenames>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Element node <igiveuponcreativenames></igiveuponcreativenames>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(3, 3, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(3, 3, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #comment but got #comment")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0", "0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass35,14: resulting DOM for range [detachedComment, 3, detachedComment, 4], node detachedTextNode
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Text node "Uvwxyzab", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Text node "Uvwxyzab", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass35,14: resulting range position for range [detachedComment, 3, detachedComment, 4], node detachedTextNode
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Text node "Uvwxyzab", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Text node "Uvwxyzab", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(3, 3, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(3, 3, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #comment but got #comment")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0", "0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass35,15: resulting DOM for range [detachedComment, 3, detachedComment, 4], node foreignTextNode
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Text node "I admit that I harbor doubts about whether we really need...", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Text node "I admit that I harbor doubts about whether we really need...", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass35,15: resulting range position for range [detachedComment, 3, detachedComment, 4], node foreignTextNode
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Text node "I admit that I harbor doubts about whether we really need...", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Text node "I admit that I harbor doubts about whether we really need...", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(3, 3, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(3, 3, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #comment but got #comment")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0", "0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass35,16: resulting DOM for range [detachedComment, 3, detachedComment, 4], node processingInstruction
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(ProcessingInstruction node with target "somePI" and data "Did you know that \":syn sync fromstart\" is very useful wh...", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(ProcessingInstruction node with target "somePI" and data "Did you know that \":syn sync fromstart\" is very useful wh...", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass35,16: resulting range position for range [detachedComment, 3, detachedComment, 4], node processingInstruction
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(ProcessingInstruction node with target "somePI" and data "Did you know that \":syn sync fromstart\" is very useful wh...", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(ProcessingInstruction node with target "somePI" and data "Did you know that \":syn sync fromstart\" is very useful wh...", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(3, 3, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(3, 3, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #comment but got #comment")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0", "0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass35,17: resulting DOM for range [detachedComment, 3, detachedComment, 4], node detachedProcessingInstruction
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(ProcessingInstruction node with target "whippoorwill" and data "chirp chirp chirp", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(ProcessingInstruction node with target "whippoorwill" and data "chirp chirp chirp", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass35,17: resulting range position for range [detachedComment, 3, detachedComment, 4], node detachedProcessingInstruction
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(ProcessingInstruction node with target "whippoorwill" and data "chirp chirp chirp", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(ProcessingInstruction node with target "whippoorwill" and data "chirp chirp chirp", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(3, 3, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(3, 3, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #comment but got #comment")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0", "0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass35,18: resulting DOM for range [detachedComment, 3, detachedComment, 4], node comment
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Comment node <!--Alphabet soup?-->, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Comment node <!--Alphabet soup?-->, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass35,18: resulting range position for range [detachedComment, 3, detachedComment, 4], node comment
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Comment node <!--Alphabet soup?-->, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Comment node <!--Alphabet soup?-->, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(3, 3, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(3, 3, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #comment but got #comment")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0", "0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass35,19: resulting DOM for range [detachedComment, 3, detachedComment, 4], node detachedComment
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Comment node <!--Stuvwxyz-->, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Comment node <!--Stuvwxyz-->, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(1, 1, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass35,19: resulting range position for range [detachedComment, 3, detachedComment, 4], node detachedComment
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Comment node <!--Stuwxyz-->, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Comment node <!--Stuwxyz-->, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(3, 3, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(3, 3, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #comment but got #comment")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0", "0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass35,20: resulting DOM for range [detachedComment, 3, detachedComment, 4], node docfrag
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(DocumentFragment node with 0 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(DocumentFragment node with 0 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_NODE_TYPE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_NODE_TYPE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass35,20: resulting range position for range [detachedComment, 3, detachedComment, 4], node docfrag
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(DocumentFragment node with 0 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(DocumentFragment node with 0 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(3, 3, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(4, 4, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #comment but got #comment")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0", "0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass35,21: resulting DOM for range [detachedComment, 3, detachedComment, 4], node doctype
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_NODE_TYPE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_NODE_TYPE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass35,21: resulting range position for range [detachedComment, 3, detachedComment, 4], node doctype
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(3, 3, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(4, 4, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #comment but got #comment")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0", "0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass35,22: resulting DOM for range [detachedComment, 3, detachedComment, 4], node foreignDoctype
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_NODE_TYPE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_NODE_TYPE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass35,22: resulting range position for range [detachedComment, 3, detachedComment, 4], node foreignDoctype
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(3, 3, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(4, 4, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #comment but got #comment")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0", "0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass36,0: resulting DOM for range [detachedForeignComment, 0, detachedForeignComment, 1], node paras[0]
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass36,0: resulting range position for range [detachedForeignComment, 0, detachedForeignComment, 1], node paras[0]
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Element node <p id="a"></p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Element node <p id="a"></p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(0, 0, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #comment but got #comment")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0", "0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass36,1: resulting DOM for range [detachedForeignComment, 0, detachedForeignComment, 1], node paras[0].firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass36,1: resulting range position for range [detachedForeignComment, 0, detachedForeignComment, 1], node paras[0].firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(0, 0, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #comment but got #comment")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0", "0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass36,2: resulting DOM for range [detachedForeignComment, 0, detachedForeignComment, 1], node paras[1].firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Text node "Ijklmnop ", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Text node "Ijklmnop ", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass36,2: resulting range position for range [detachedForeignComment, 0, detachedForeignComment, 1], node paras[1].firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Text node "Ijklmnop ", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Text node "Ijklmnop ", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(0, 0, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #comment but got #comment")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0", "0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass36,3: resulting DOM for range [detachedForeignComment, 0, detachedForeignComment, 1], node paras[5].firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Node object of unknown type, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Node object of unknown type, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass36,3: resulting range position for range [detachedForeignComment, 0, detachedForeignComment, 1], node paras[5].firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Node object of unknown type, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Node object of unknown type, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(0, 0, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #comment but got #comment")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0", "0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass36,4: resulting DOM for range [detachedForeignComment, 0, detachedForeignComment, 1], node foreignPara1
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Element node <p>Efghijkl</p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Element node <p>Efghijkl</p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass36,4: resulting range position for range [detachedForeignComment, 0, detachedForeignComment, 1], node foreignPara1
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Element node <p></p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Element node <p></p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(0, 0, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #comment but got #comment")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0", "0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass36,5: resulting DOM for range [detachedForeignComment, 0, detachedForeignComment, 1], node foreignPara1.firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Text node "Efghijkl", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Text node "Efghijkl", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass36,5: resulting range position for range [detachedForeignComment, 0, detachedForeignComment, 1], node foreignPara1.firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Text node "Efghijkl", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Text node "Efghijkl", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(0, 0, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #comment but got #comment")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0", "0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass36,6: resulting DOM for range [detachedForeignComment, 0, detachedForeignComment, 1], node detachedPara1
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Element node <p>Opqrstuv</p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Element node <p>Opqrstuv</p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass36,6: resulting range position for range [detachedForeignComment, 0, detachedForeignComment, 1], node detachedPara1
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Element node <p></p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Element node <p></p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(0, 0, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #comment but got #comment")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0", "0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass36,7: resulting DOM for range [detachedForeignComment, 0, detachedForeignComment, 1], node detachedPara1.firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Text node "Opqrstuv", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Text node "Opqrstuv", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass36,7: resulting range position for range [detachedForeignComment, 0, detachedForeignComment, 1], node detachedPara1.firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Text node "Opqrstuv", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Text node "Opqrstuv", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(0, 0, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #comment but got #comment")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0", "0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass36,8: resulting DOM for range [detachedForeignComment, 0, detachedForeignComment, 1], node document
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Document node with 2 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Document node with 2 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_NODE_TYPE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_NODE_TYPE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass36,8: resulting range position for range [detachedForeignComment, 0, detachedForeignComment, 1], node document
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Document node with 2 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Document node with 2 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(1, 1, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #comment but got #comment")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0", "0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass36,9: resulting DOM for range [detachedForeignComment, 0, detachedForeignComment, 1], node detachedDiv
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Element node <div><p>Opqrstuv</p><p>Wxyzabcd</p></div>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Element node <div><p>Opqrstuv</p><p>Wxyzabcd</p></div>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass36,9: resulting range position for range [detachedForeignComment, 0, detachedForeignComment, 1], node detachedDiv
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Element node <div></div>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Element node <div></div>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(0, 0, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #comment but got #comment")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0", "0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass36,10: resulting DOM for range [detachedForeignComment, 0, detachedForeignComment, 1], node foreignDoc
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Document node with 3 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Document node with 3 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_NODE_TYPE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_NODE_TYPE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass36,10: resulting range position for range [detachedForeignComment, 0, detachedForeignComment, 1], node foreignDoc
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Document node with 3 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Document node with 3 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(1, 1, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #comment but got #comment")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0", "0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass36,11: resulting DOM for range [detachedForeignComment, 0, detachedForeignComment, 1], node foreignPara2
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Element node <p>Mnopqrst</p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Element node <p>Mnopqrst</p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass36,11: resulting range position for range [detachedForeignComment, 0, detachedForeignComment, 1], node foreignPara2
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Element node <p></p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Element node <p></p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(0, 0, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #comment but got #comment")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0", "0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass36,12: resulting DOM for range [detachedForeignComment, 0, detachedForeignComment, 1], node xmlDoc
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Document node with 4 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Document node with 4 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_NODE_TYPE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_NODE_TYPE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass36,12: resulting range position for range [detachedForeignComment, 0, detachedForeignComment, 1], node xmlDoc
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Document node with 4 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Document node with 4 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(1, 1, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #comment but got #comment")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0", "0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass36,13: resulting DOM for range [detachedForeignComment, 0, detachedForeignComment, 1], node xmlElement
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Element node <igiveuponcreativenames>do re mi fa so la ti</igiveuponcr..., null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Element node <igiveuponcreativenames>do re mi fa so la ti</igiveuponcr..., null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass36,13: resulting range position for range [detachedForeignComment, 0, detachedForeignComment, 1], node xmlElement
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Element node <igiveuponcreativenames></igiveuponcreativenames>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Element node <igiveuponcreativenames></igiveuponcreativenames>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(0, 0, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #comment but got #comment")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0", "0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass36,14: resulting DOM for range [detachedForeignComment, 0, detachedForeignComment, 1], node detachedTextNode
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Text node "Uvwxyzab", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Text node "Uvwxyzab", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass36,14: resulting range position for range [detachedForeignComment, 0, detachedForeignComment, 1], node detachedTextNode
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Text node "Uvwxyzab", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Text node "Uvwxyzab", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(0, 0, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #comment but got #comment")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0", "0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass36,15: resulting DOM for range [detachedForeignComment, 0, detachedForeignComment, 1], node foreignTextNode
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Text node "I admit that I harbor doubts about whether we really need...", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Text node "I admit that I harbor doubts about whether we really need...", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass36,15: resulting range position for range [detachedForeignComment, 0, detachedForeignComment, 1], node foreignTextNode
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Text node "I admit that I harbor doubts about whether we really need...", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Text node "I admit that I harbor doubts about whether we really need...", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(0, 0, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #comment but got #comment")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0", "0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass36,16: resulting DOM for range [detachedForeignComment, 0, detachedForeignComment, 1], node processingInstruction
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(ProcessingInstruction node with target "somePI" and data "Did you know that \":syn sync fromstart\" is very useful wh...", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(ProcessingInstruction node with target "somePI" and data "Did you know that \":syn sync fromstart\" is very useful wh...", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass36,16: resulting range position for range [detachedForeignComment, 0, detachedForeignComment, 1], node processingInstruction
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(ProcessingInstruction node with target "somePI" and data "Did you know that \":syn sync fromstart\" is very useful wh...", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(ProcessingInstruction node with target "somePI" and data "Did you know that \":syn sync fromstart\" is very useful wh...", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(0, 0, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #comment but got #comment")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0", "0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass36,17: resulting DOM for range [detachedForeignComment, 0, detachedForeignComment, 1], node detachedProcessingInstruction
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(ProcessingInstruction node with target "whippoorwill" and data "chirp chirp chirp", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(ProcessingInstruction node with target "whippoorwill" and data "chirp chirp chirp", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass36,17: resulting range position for range [detachedForeignComment, 0, detachedForeignComment, 1], node detachedProcessingInstruction
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(ProcessingInstruction node with target "whippoorwill" and data "chirp chirp chirp", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(ProcessingInstruction node with target "whippoorwill" and data "chirp chirp chirp", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(0, 0, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #comment but got #comment")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0", "0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass36,18: resulting DOM for range [detachedForeignComment, 0, detachedForeignComment, 1], node comment
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Comment node <!--Alphabet soup?-->, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Comment node <!--Alphabet soup?-->, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass36,18: resulting range position for range [detachedForeignComment, 0, detachedForeignComment, 1], node comment
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Comment node <!--Alphabet soup?-->, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Comment node <!--Alphabet soup?-->, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(0, 0, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #comment but got #comment")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0", "0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass36,19: resulting DOM for range [detachedForeignComment, 0, detachedForeignComment, 1], node detachedComment
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Comment node <!--Stuvwxyz-->, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Comment node <!--Stuvwxyz-->, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass36,19: resulting range position for range [detachedForeignComment, 0, detachedForeignComment, 1], node detachedComment
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Comment node <!--Stuvwxyz-->, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Comment node <!--Stuvwxyz-->, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(0, 0, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #comment but got #comment")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0", "0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass36,20: resulting DOM for range [detachedForeignComment, 0, detachedForeignComment, 1], node docfrag
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(DocumentFragment node with 0 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(DocumentFragment node with 0 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_NODE_TYPE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_NODE_TYPE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass36,20: resulting range position for range [detachedForeignComment, 0, detachedForeignComment, 1], node docfrag
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(DocumentFragment node with 0 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(DocumentFragment node with 0 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(1, 1, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #comment but got #comment")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0", "0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass36,21: resulting DOM for range [detachedForeignComment, 0, detachedForeignComment, 1], node doctype
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_NODE_TYPE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_NODE_TYPE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass36,21: resulting range position for range [detachedForeignComment, 0, detachedForeignComment, 1], node doctype
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(1, 1, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #comment but got #comment")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0", "0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass36,22: resulting DOM for range [detachedForeignComment, 0, detachedForeignComment, 1], node foreignDoctype
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_NODE_TYPE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_NODE_TYPE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass36,22: resulting range position for range [detachedForeignComment, 0, detachedForeignComment, 1], node foreignDoctype
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(1, 1, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #comment but got #comment")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0", "0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass37,0: resulting DOM for range [detachedXmlComment, 2, detachedXmlComment, 6], node paras[0]
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass37,0: resulting range position for range [detachedXmlComment, 2, detachedXmlComment, 6], node paras[0]
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Element node <p id="a"></p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Element node <p id="a"></p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(2, 2, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #comment but got #comment")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0", "0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass37,1: resulting DOM for range [detachedXmlComment, 2, detachedXmlComment, 6], node paras[0].firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass37,1: resulting range position for range [detachedXmlComment, 2, detachedXmlComment, 6], node paras[0].firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(2, 2, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #comment but got #comment")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0", "0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass37,2: resulting DOM for range [detachedXmlComment, 2, detachedXmlComment, 6], node paras[1].firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Text node "Ijklmnop ", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Text node "Ijklmnop ", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass37,2: resulting range position for range [detachedXmlComment, 2, detachedXmlComment, 6], node paras[1].firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Text node "Ijklmnop ", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Text node "Ijklmnop ", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(2, 2, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #comment but got #comment")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0", "0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass37,3: resulting DOM for range [detachedXmlComment, 2, detachedXmlComment, 6], node paras[5].firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Node object of unknown type, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Node object of unknown type, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass37,3: resulting range position for range [detachedXmlComment, 2, detachedXmlComment, 6], node paras[5].firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Node object of unknown type, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Node object of unknown type, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(2, 2, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #comment but got #comment")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0", "0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass37,4: resulting DOM for range [detachedXmlComment, 2, detachedXmlComment, 6], node foreignPara1
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Element node <p>Efghijkl</p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Element node <p>Efghijkl</p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass37,4: resulting range position for range [detachedXmlComment, 2, detachedXmlComment, 6], node foreignPara1
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Element node <p></p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Element node <p></p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(2, 2, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #comment but got #comment")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0", "0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass37,5: resulting DOM for range [detachedXmlComment, 2, detachedXmlComment, 6], node foreignPara1.firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Text node "Efghijkl", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Text node "Efghijkl", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass37,5: resulting range position for range [detachedXmlComment, 2, detachedXmlComment, 6], node foreignPara1.firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Text node "Efghijkl", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Text node "Efghijkl", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(2, 2, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #comment but got #comment")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0", "0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass37,6: resulting DOM for range [detachedXmlComment, 2, detachedXmlComment, 6], node detachedPara1
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Element node <p>Opqrstuv</p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Element node <p>Opqrstuv</p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass37,6: resulting range position for range [detachedXmlComment, 2, detachedXmlComment, 6], node detachedPara1
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Element node <p></p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Element node <p></p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(2, 2, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #comment but got #comment")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0", "0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass37,7: resulting DOM for range [detachedXmlComment, 2, detachedXmlComment, 6], node detachedPara1.firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Text node "Opqrstuv", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Text node "Opqrstuv", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass37,7: resulting range position for range [detachedXmlComment, 2, detachedXmlComment, 6], node detachedPara1.firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Text node "Opqrstuv", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Text node "Opqrstuv", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(2, 2, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #comment but got #comment")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0", "0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass37,8: resulting DOM for range [detachedXmlComment, 2, detachedXmlComment, 6], node document
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Document node with 2 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Document node with 2 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_NODE_TYPE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_NODE_TYPE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass37,8: resulting range position for range [detachedXmlComment, 2, detachedXmlComment, 6], node document
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Document node with 2 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Document node with 2 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(2, 2, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(6, 6, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #comment but got #comment")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0", "0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass37,9: resulting DOM for range [detachedXmlComment, 2, detachedXmlComment, 6], node detachedDiv
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Element node <div><p>Opqrstuv</p><p>Wxyzabcd</p></div>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Element node <div><p>Opqrstuv</p><p>Wxyzabcd</p></div>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass37,9: resulting range position for range [detachedXmlComment, 2, detachedXmlComment, 6], node detachedDiv
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Element node <div></div>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Element node <div></div>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(2, 2, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #comment but got #comment")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0", "0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass37,10: resulting DOM for range [detachedXmlComment, 2, detachedXmlComment, 6], node foreignDoc
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Document node with 3 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Document node with 3 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_NODE_TYPE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_NODE_TYPE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass37,10: resulting range position for range [detachedXmlComment, 2, detachedXmlComment, 6], node foreignDoc
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Document node with 3 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Document node with 3 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(2, 2, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(6, 6, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #comment but got #comment")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0", "0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass37,11: resulting DOM for range [detachedXmlComment, 2, detachedXmlComment, 6], node foreignPara2
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Element node <p>Mnopqrst</p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Element node <p>Mnopqrst</p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass37,11: resulting range position for range [detachedXmlComment, 2, detachedXmlComment, 6], node foreignPara2
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Element node <p></p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Element node <p></p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(2, 2, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #comment but got #comment")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0", "0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass37,12: resulting DOM for range [detachedXmlComment, 2, detachedXmlComment, 6], node xmlDoc
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Document node with 4 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Document node with 4 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_NODE_TYPE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_NODE_TYPE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass37,12: resulting range position for range [detachedXmlComment, 2, detachedXmlComment, 6], node xmlDoc
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Document node with 4 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Document node with 4 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(2, 2, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(6, 6, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #comment but got #comment")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0", "0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass37,13: resulting DOM for range [detachedXmlComment, 2, detachedXmlComment, 6], node xmlElement
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Element node <igiveuponcreativenames>do re mi fa so la ti</igiveuponcr..., null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Element node <igiveuponcreativenames>do re mi fa so la ti</igiveuponcr..., null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass37,13: resulting range position for range [detachedXmlComment, 2, detachedXmlComment, 6], node xmlElement
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Element node <igiveuponcreativenames></igiveuponcreativenames>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Element node <igiveuponcreativenames></igiveuponcreativenames>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(2, 2, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #comment but got #comment")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0", "0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass37,14: resulting DOM for range [detachedXmlComment, 2, detachedXmlComment, 6], node detachedTextNode
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Text node "Uvwxyzab", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Text node "Uvwxyzab", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass37,14: resulting range position for range [detachedXmlComment, 2, detachedXmlComment, 6], node detachedTextNode
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Text node "Uvwxyzab", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Text node "Uvwxyzab", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(2, 2, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #comment but got #comment")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0", "0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass37,15: resulting DOM for range [detachedXmlComment, 2, detachedXmlComment, 6], node foreignTextNode
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Text node "I admit that I harbor doubts about whether we really need...", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Text node "I admit that I harbor doubts about whether we really need...", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass37,15: resulting range position for range [detachedXmlComment, 2, detachedXmlComment, 6], node foreignTextNode
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Text node "I admit that I harbor doubts about whether we really need...", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Text node "I admit that I harbor doubts about whether we really need...", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(2, 2, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #comment but got #comment")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0", "0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass37,16: resulting DOM for range [detachedXmlComment, 2, detachedXmlComment, 6], node processingInstruction
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(ProcessingInstruction node with target "somePI" and data "Did you know that \":syn sync fromstart\" is very useful wh...", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(ProcessingInstruction node with target "somePI" and data "Did you know that \":syn sync fromstart\" is very useful wh...", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass37,16: resulting range position for range [detachedXmlComment, 2, detachedXmlComment, 6], node processingInstruction
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(ProcessingInstruction node with target "somePI" and data "Did you know that \":syn sync fromstart\" is very useful wh...", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(ProcessingInstruction node with target "somePI" and data "Did you know that \":syn sync fromstart\" is very useful wh...", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(2, 2, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #comment but got #comment")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0", "0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass37,17: resulting DOM for range [detachedXmlComment, 2, detachedXmlComment, 6], node detachedProcessingInstruction
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(ProcessingInstruction node with target "whippoorwill" and data "chirp chirp chirp", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(ProcessingInstruction node with target "whippoorwill" and data "chirp chirp chirp", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass37,17: resulting range position for range [detachedXmlComment, 2, detachedXmlComment, 6], node detachedProcessingInstruction
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(ProcessingInstruction node with target "whippoorwill" and data "chirp chirp chirp", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(ProcessingInstruction node with target "whippoorwill" and data "chirp chirp chirp", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(2, 2, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #comment but got #comment")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0", "0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass37,18: resulting DOM for range [detachedXmlComment, 2, detachedXmlComment, 6], node comment
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Comment node <!--Alphabet soup?-->, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Comment node <!--Alphabet soup?-->, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass37,18: resulting range position for range [detachedXmlComment, 2, detachedXmlComment, 6], node comment
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Comment node <!--Alphabet soup?-->, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Comment node <!--Alphabet soup?-->, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(2, 2, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #comment but got #comment")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0", "0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass37,19: resulting DOM for range [detachedXmlComment, 2, detachedXmlComment, 6], node detachedComment
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Comment node <!--Stuvwxyz-->, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Comment node <!--Stuvwxyz-->, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass37,19: resulting range position for range [detachedXmlComment, 2, detachedXmlComment, 6], node detachedComment
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Comment node <!--Stuvwxyz-->, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Comment node <!--Stuvwxyz-->, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(2, 2, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(2, 2, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #comment but got #comment")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0", "0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass37,20: resulting DOM for range [detachedXmlComment, 2, detachedXmlComment, 6], node docfrag
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(DocumentFragment node with 0 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(DocumentFragment node with 0 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_NODE_TYPE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_NODE_TYPE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass37,20: resulting range position for range [detachedXmlComment, 2, detachedXmlComment, 6], node docfrag
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(DocumentFragment node with 0 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(DocumentFragment node with 0 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(2, 2, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(6, 6, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #comment but got #comment")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0", "0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass37,21: resulting DOM for range [detachedXmlComment, 2, detachedXmlComment, 6], node doctype
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_NODE_TYPE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_NODE_TYPE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass37,21: resulting range position for range [detachedXmlComment, 2, detachedXmlComment, 6], node doctype
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(2, 2, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(6, 6, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #comment but got #comment")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0", "0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass37,22: resulting DOM for range [detachedXmlComment, 2, detachedXmlComment, 6], node foreignDoctype
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_NODE_TYPE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_NODE_TYPE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass37,22: resulting range position for range [detachedXmlComment, 2, detachedXmlComment, 6], node foreignDoctype
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(2, 2, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(6, 6, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #comment but got #comment")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0", "0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass38,0: resulting DOM for range [docfrag, 0, docfrag, 0], node paras[0]
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass38,0: resulting range position for range [docfrag, 0, docfrag, 0], node paras[0]
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Element node <p id="a"></p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Element node <p id="a"></p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(1, 1, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #document-fragment but got #document-fragment")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0", "0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass38,1: resulting DOM for range [docfrag, 0, docfrag, 0], node paras[0].firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass38,1: resulting range position for range [docfrag, 0, docfrag, 0], node paras[0].firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(1, 1, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #document-fragment but got #document-fragment")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0", "0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass38,2: resulting DOM for range [docfrag, 0, docfrag, 0], node paras[1].firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Text node "Ijklmnop ", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Text node "Ijklmnop ", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass38,2: resulting range position for range [docfrag, 0, docfrag, 0], node paras[1].firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Ijklmnop ", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Ijklmnop ", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Text node "Ijklmnop ", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Text node "Ijklmnop ", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(1, 1, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #document-fragment but got #document-fragment")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0", "0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass38,3: resulting DOM for range [docfrag, 0, docfrag, 0], node paras[5].firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Node object of unknown type, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Node object of unknown type, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass38,3: resulting range position for range [docfrag, 0, docfrag, 0], node paras[5].firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "1234", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "1234", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Node object of unknown type, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Node object of unknown type, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(1, 1, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #document-fragment but got #document-fragment")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0", "0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass38,4: resulting DOM for range [docfrag, 0, docfrag, 0], node foreignPara1
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Element node <p>Efghijkl</p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Element node <p>Efghijkl</p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass38,4: resulting range position for range [docfrag, 0, docfrag, 0], node foreignPara1
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Element node <p></p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Element node <p></p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(1, 1, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #document-fragment but got #document-fragment")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0", "0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass38,5: resulting DOM for range [docfrag, 0, docfrag, 0], node foreignPara1.firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Text node "Efghijkl", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Text node "Efghijkl", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass38,5: resulting range position for range [docfrag, 0, docfrag, 0], node foreignPara1.firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Efghijkl", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Efghijkl", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Text node "Efghijkl", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Text node "Efghijkl", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(1, 1, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #document-fragment but got #document-fragment")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0", "0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass38,6: resulting DOM for range [docfrag, 0, docfrag, 0], node detachedPara1
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Element node <p>Opqrstuv</p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Element node <p>Opqrstuv</p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass38,6: resulting range position for range [docfrag, 0, docfrag, 0], node detachedPara1
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Element node <p></p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Element node <p></p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(1, 1, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #document-fragment but got #document-fragment")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0", "0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass38,7: resulting DOM for range [docfrag, 0, docfrag, 0], node detachedPara1.firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Text node "Opqrstuv", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Text node "Opqrstuv", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass38,7: resulting range position for range [docfrag, 0, docfrag, 0], node detachedPara1.firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Opqrstuv", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Opqrstuv", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Text node "Opqrstuv", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Text node "Opqrstuv", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(1, 1, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #document-fragment but got #document-fragment")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0", "0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass38,8: resulting DOM for range [docfrag, 0, docfrag, 0], node document
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Document node with 2 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Document node with 2 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_NODE_TYPE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_NODE_TYPE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass38,8: resulting range position for range [docfrag, 0, docfrag, 0], node document
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Document node with 2 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Document node with 2 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(0, 0, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #document-fragment but got #document-fragment")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0", "0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass38,9: resulting DOM for range [docfrag, 0, docfrag, 0], node detachedDiv
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Element node <div><p>Opqrstuv</p><p>Wxyzabcd</p></div>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Element node <div><p>Opqrstuv</p><p>Wxyzabcd</p></div>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass38,9: resulting range position for range [docfrag, 0, docfrag, 0], node detachedDiv
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Element node <div></div>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Element node <div></div>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(1, 1, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #document-fragment but got #document-fragment")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0", "0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass38,10: resulting DOM for range [docfrag, 0, docfrag, 0], node foreignDoc
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Document node with 3 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Document node with 3 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_NODE_TYPE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_NODE_TYPE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass38,10: resulting range position for range [docfrag, 0, docfrag, 0], node foreignDoc
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Document node with 3 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Document node with 3 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(0, 0, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #document-fragment but got #document-fragment")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0", "0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass38,11: resulting DOM for range [docfrag, 0, docfrag, 0], node foreignPara2
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Element node <p>Mnopqrst</p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Element node <p>Mnopqrst</p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass38,11: resulting range position for range [docfrag, 0, docfrag, 0], node foreignPara2
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Element node <p></p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Element node <p></p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(1, 1, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #document-fragment but got #document-fragment")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0", "0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass38,12: resulting DOM for range [docfrag, 0, docfrag, 0], node xmlDoc
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Document node with 4 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Document node with 4 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_NODE_TYPE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_NODE_TYPE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass38,12: resulting range position for range [docfrag, 0, docfrag, 0], node xmlDoc
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Document node with 4 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Document node with 4 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(0, 0, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #document-fragment but got #document-fragment")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0", "0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass38,13: resulting DOM for range [docfrag, 0, docfrag, 0], node xmlElement
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Element node <igiveuponcreativenames>do re mi fa so la ti</igiveuponcr..., null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Element node <igiveuponcreativenames>do re mi fa so la ti</igiveuponcr..., null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass38,13: resulting range position for range [docfrag, 0, docfrag, 0], node xmlElement
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Element node <igiveuponcreativenames></igiveuponcreativenames>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Element node <igiveuponcreativenames></igiveuponcreativenames>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(1, 1, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #document-fragment but got #document-fragment")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0", "0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass38,14: resulting DOM for range [docfrag, 0, docfrag, 0], node detachedTextNode
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Text node "Uvwxyzab", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Text node "Uvwxyzab", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass38,14: resulting range position for range [docfrag, 0, docfrag, 0], node detachedTextNode
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "Uvwxyzab", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "Uvwxyzab", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Text node "Uvwxyzab", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Text node "Uvwxyzab", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(1, 1, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #document-fragment but got #document-fragment")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0", "0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass38,15: resulting DOM for range [docfrag, 0, docfrag, 0], node foreignTextNode
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Text node "I admit that I harbor doubts about whether we really need...", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Text node "I admit that I harbor doubts about whether we really need...", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass38,15: resulting range position for range [docfrag, 0, docfrag, 0], node foreignTextNode
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "I admit that I harbor doubts about whether we really need so many things to test, but it's too late to stop now.", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "I admit that I harbor doubts about whether we really need so many things to test, but it's too late to stop now.", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Text node "I admit that I harbor doubts about whether we really need...", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Text node "I admit that I harbor doubts about whether we really need...", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(1, 1, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #document-fragment but got #document-fragment")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0", "0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass38,16: resulting DOM for range [docfrag, 0, docfrag, 0], node processingInstruction
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(ProcessingInstruction node with target "somePI" and data "Did you know that \":syn sync fromstart\" is very useful wh...", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(ProcessingInstruction node with target "somePI" and data "Did you know that \":syn sync fromstart\" is very useful wh...", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass38,16: resulting range position for range [docfrag, 0, docfrag, 0], node processingInstruction
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(ProcessingInstruction node with target "somePI" and data "Did you know that \":syn sync fromstart\" is very useful wh...", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(ProcessingInstruction node with target "somePI" and data "Did you know that \":syn sync fromstart\" is very useful wh...", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(1, 1, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #document-fragment but got #document-fragment")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0", "0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass38,17: resulting DOM for range [docfrag, 0, docfrag, 0], node detachedProcessingInstruction
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(ProcessingInstruction node with target "whippoorwill" and data "chirp chirp chirp", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(ProcessingInstruction node with target "whippoorwill" and data "chirp chirp chirp", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass38,17: resulting range position for range [docfrag, 0, docfrag, 0], node detachedProcessingInstruction
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(ProcessingInstruction node with target "whippoorwill" and data "chirp chirp chirp", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(ProcessingInstruction node with target "whippoorwill" and data "chirp chirp chirp", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(1, 1, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #document-fragment but got #document-fragment")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0", "0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass38,18: resulting DOM for range [docfrag, 0, docfrag, 0], node comment
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Comment node <!--Alphabet soup?-->, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Comment node <!--Alphabet soup?-->, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass38,18: resulting range position for range [docfrag, 0, docfrag, 0], node comment
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Comment node <!--Alphabet soup?-->, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Comment node <!--Alphabet soup?-->, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(1, 1, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #document-fragment but got #document-fragment")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0", "0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass38,19: resulting DOM for range [docfrag, 0, docfrag, 0], node detachedComment
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Comment node <!--Stuvwxyz-->, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Comment node <!--Stuvwxyz-->, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass38,19: resulting range position for range [docfrag, 0, docfrag, 0], node detachedComment
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Comment node <!--Stuvwxyz-->, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Comment node <!--Stuvwxyz-->, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(1, 1, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #document-fragment but got #document-fragment")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0", "0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass38,20: resulting DOM for range [docfrag, 0, docfrag, 0], node docfrag
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(DocumentFragment node with 0 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(DocumentFragment node with 0 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(1, 1, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_NODE_TYPE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_NODE_TYPE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass38,20: resulting range position for range [docfrag, 0, docfrag, 0], node docfrag
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(DocumentFragment node with 0 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(DocumentFragment node with 0 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(0, 0, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #document-fragment but got #document-fragment")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0", "0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass38,21: resulting DOM for range [docfrag, 0, docfrag, 0], node doctype
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_NODE_TYPE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_NODE_TYPE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass38,21: resulting range position for range [docfrag, 0, docfrag, 0], node doctype
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(0, 0, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #document-fragment but got #document-fragment")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0", "0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass38,22: resulting DOM for range [docfrag, 0, docfrag, 0], node foreignDoctype
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_NODE_TYPE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_NODE_TYPE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass38,22: resulting range position for range [docfrag, 0, docfrag, 0], node foreignDoctype
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(0, 0, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected #document-fragment but got #document-fragment")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0", "0", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass39,0: resulting DOM for range [processingInstruction, 0, processingInstruction, 4], node paras[0]
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass39,0: resulting range position for range [processingInstruction, 0, processingInstruction, 4], node paras[0]
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Element node <p id="a"></p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Element node <p id="a"></p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(0, 0, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected somepi but got somepi")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-2", "0-2", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass39,1: resulting DOM for range [processingInstruction, 0, processingInstruction, 4], node paras[0].firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass39,1: resulting range position for range [processingInstruction, 0, processingInstruction, 4], node paras[0].firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(0, 0, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected somepi but got somepi")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-2", "0-2", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass39,2: resulting DOM for range [processingInstruction, 0, processingInstruction, 4], node paras[1].firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Text node "Ijklmnop ", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Text node "Ijklmnop ", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass39,2: resulting range position for range [processingInstruction, 0, processingInstruction, 4], node paras[1].firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Text node "Ijklmnop ", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Text node "Ijklmnop ", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(0, 0, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected somepi but got somepi")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-2", "0-2", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass39,3: resulting DOM for range [processingInstruction, 0, processingInstruction, 4], node paras[5].firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Node object of unknown type, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Node object of unknown type, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass39,3: resulting range position for range [processingInstruction, 0, processingInstruction, 4], node paras[5].firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Node object of unknown type, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Node object of unknown type, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(0, 0, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected somepi but got somepi")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-2", "0-2", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass39,4: resulting DOM for range [processingInstruction, 0, processingInstruction, 4], node foreignPara1
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Element node <p>Efghijkl</p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Element node <p>Efghijkl</p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass39,4: resulting range position for range [processingInstruction, 0, processingInstruction, 4], node foreignPara1
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Element node <p></p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Element node <p></p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(0, 0, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected somepi but got somepi")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-2", "0-2", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass39,5: resulting DOM for range [processingInstruction, 0, processingInstruction, 4], node foreignPara1.firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Text node "Efghijkl", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Text node "Efghijkl", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass39,5: resulting range position for range [processingInstruction, 0, processingInstruction, 4], node foreignPara1.firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Text node "Efghijkl", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Text node "Efghijkl", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(0, 0, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected somepi but got somepi")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-2", "0-2", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass39,6: resulting DOM for range [processingInstruction, 0, processingInstruction, 4], node detachedPara1
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Element node <p>Opqrstuv</p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Element node <p>Opqrstuv</p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass39,6: resulting range position for range [processingInstruction, 0, processingInstruction, 4], node detachedPara1
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Element node <p></p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Element node <p></p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(0, 0, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected somepi but got somepi")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-2", "0-2", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass39,7: resulting DOM for range [processingInstruction, 0, processingInstruction, 4], node detachedPara1.firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Text node "Opqrstuv", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Text node "Opqrstuv", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass39,7: resulting range position for range [processingInstruction, 0, processingInstruction, 4], node detachedPara1.firstChild
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Text node "Opqrstuv", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Text node "Opqrstuv", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(0, 0, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected somepi but got somepi")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-2", "0-2", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass39,8: resulting DOM for range [processingInstruction, 0, processingInstruction, 4], node document
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Document node with 2 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Document node with 2 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_NODE_TYPE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_NODE_TYPE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass39,8: resulting range position for range [processingInstruction, 0, processingInstruction, 4], node document
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Document node with 2 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Document node with 2 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(4, 4, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected somepi but got somepi")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-2", "0-2", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass39,9: resulting DOM for range [processingInstruction, 0, processingInstruction, 4], node detachedDiv
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Element node <div><p>Opqrstuv</p><p>Wxyzabcd</p></div>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Element node <div><p>Opqrstuv</p><p>Wxyzabcd</p></div>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass39,9: resulting range position for range [processingInstruction, 0, processingInstruction, 4], node detachedDiv
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Element node <div></div>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Element node <div></div>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(0, 0, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected somepi but got somepi")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-2", "0-2", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass39,10: resulting DOM for range [processingInstruction, 0, processingInstruction, 4], node foreignDoc
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Document node with 3 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Document node with 3 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_NODE_TYPE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_NODE_TYPE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass39,10: resulting range position for range [processingInstruction, 0, processingInstruction, 4], node foreignDoc
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Document node with 3 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Document node with 3 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(4, 4, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected somepi but got somepi")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-2", "0-2", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass39,11: resulting DOM for range [processingInstruction, 0, processingInstruction, 4], node foreignPara2
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Element node <p>Mnopqrst</p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Element node <p>Mnopqrst</p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass39,11: resulting range position for range [processingInstruction, 0, processingInstruction, 4], node foreignPara2
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Element node <p></p>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Element node <p></p>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(0, 0, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected somepi but got somepi")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-2", "0-2", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass39,12: resulting DOM for range [processingInstruction, 0, processingInstruction, 4], node xmlDoc
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Document node with 4 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Document node with 4 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(1, 1, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_NODE_TYPE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_NODE_TYPE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass39,12: resulting range position for range [processingInstruction, 0, processingInstruction, 4], node xmlDoc
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Document node with 4 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Document node with 4 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(4, 4, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected somepi but got somepi")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-2", "0-2", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass39,13: resulting DOM for range [processingInstruction, 0, processingInstruction, 4], node xmlElement
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Element node <igiveuponcreativenames>do re mi fa so la ti</igiveuponcr..., null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Element node <igiveuponcreativenames>do re mi fa so la ti</igiveuponcr..., null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(1, 1, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass39,13: resulting range position for range [processingInstruction, 0, processingInstruction, 4], node xmlElement
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Element node <igiveuponcreativenames></igiveuponcreativenames>, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Element node <igiveuponcreativenames></igiveuponcreativenames>, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(0, 0, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected somepi but got somepi")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-2", "0-2", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass39,14: resulting DOM for range [processingInstruction, 0, processingInstruction, 4], node detachedTextNode
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Text node "Uvwxyzab", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Text node "Uvwxyzab", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass39,14: resulting range position for range [processingInstruction, 0, processingInstruction, 4], node detachedTextNode
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Text node "Uvwxyzab", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Text node "Uvwxyzab", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(0, 0, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected somepi but got somepi")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-2", "0-2", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass39,15: resulting DOM for range [processingInstruction, 0, processingInstruction, 4], node foreignTextNode
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Text node "I admit that I harbor doubts about whether we really need...", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Text node "I admit that I harbor doubts about whether we really need...", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass39,15: resulting range position for range [processingInstruction, 0, processingInstruction, 4], node foreignTextNode
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Text node "I admit that I harbor doubts about whether we really need...", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Text node "I admit that I harbor doubts about whether we really need...", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(0, 0, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected somepi but got somepi")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-2", "0-2", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass39,16: resulting DOM for range [processingInstruction, 0, processingInstruction, 4], node processingInstruction
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(ProcessingInstruction node with target "somePI" and data "Did you know that \":syn sync fromstart\" is very useful wh...", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(ProcessingInstruction node with target "somePI" and data "Did you know that \":syn sync fromstart\" is very useful wh...", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(1, 1, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass39,16: resulting range position for range [processingInstruction, 0, processingInstruction, 4], node processingInstruction
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(ProcessingInstruction node with target "somePI" and data "you know that \":syn sync fromstart\" is very useful when u...", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(ProcessingInstruction node with target "somePI" and data "you know that \":syn sync fromstart\" is very useful when u...", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(0, 0, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected somepi but got somepi")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-2", "0-2", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass39,17: resulting DOM for range [processingInstruction, 0, processingInstruction, 4], node detachedProcessingInstruction
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(ProcessingInstruction node with target "whippoorwill" and data "chirp chirp chirp", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(ProcessingInstruction node with target "whippoorwill" and data "chirp chirp chirp", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass39,17: resulting range position for range [processingInstruction, 0, processingInstruction, 4], node detachedProcessingInstruction
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(ProcessingInstruction node with target "whippoorwill" and data "chirp chirp chirp", null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(ProcessingInstruction node with target "whippoorwill" and data "chirp chirp chirp", null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(0, 0, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected somepi but got somepi")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-2", "0-2", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass39,18: resulting DOM for range [processingInstruction, 0, processingInstruction, 4], node comment
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Comment node <!--Alphabet soup?-->, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Comment node <!--Alphabet soup?-->, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass39,18: resulting range position for range [processingInstruction, 0, processingInstruction, 4], node comment
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Comment node <!--Alphabet soup?-->, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Comment node <!--Alphabet soup?-->, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(0, 0, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected somepi but got somepi")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-2", "0-2", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass39,19: resulting DOM for range [processingInstruction, 0, processingInstruction, 4], node detachedComment
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(Comment node <!--Stuvwxyz-->, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(Comment node <!--Stuvwxyz-->, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A HIERARCHY_REQUEST_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass39,19: resulting range position for range [processingInstruction, 0, processingInstruction, 4], node detachedComment
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(Comment node <!--Stuvwxyz-->, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(Comment node <!--Stuvwxyz-->, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(0, 0, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected somepi but got somepi")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-2", "0-2", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass39,20: resulting DOM for range [processingInstruction, 0, processingInstruction, 4], node docfrag
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(DocumentFragment node with 0 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(DocumentFragment node with 0 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_NODE_TYPE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_NODE_TYPE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass39,20: resulting range position for range [processingInstruction, 0, processingInstruction, 4], node docfrag
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(DocumentFragment node with 0 children, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(DocumentFragment node with 0 children, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(4, 4, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected somepi but got somepi")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-2", "0-2", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass39,21: resulting DOM for range [processingInstruction, 0, processingInstruction, 4], node doctype
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_NODE_TYPE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_NODE_TYPE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass39,21: resulting range position for range [processingInstruction, 0, processingInstruction, 4], node doctype
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(4, 4, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected somepi but got somepi")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-2", "0-2", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)
Pass39,22: resulting DOM for range [processingInstruction, 0, processingInstruction, 4], node foreignDoctype
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:122:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:124:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:126:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:128:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:130:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:132:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:134:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:136:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:138:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:140:5)
Pass
assert_equals(2, 2, "Either the actual node and actual range are in the same tree but the expected are in different trees, or vice versa")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:157:5)
Pass
assert_throws_dom("INVALID_NODE_TYPE_ERR", function "function DOMException() { [native code] }", function "function() {         try {           actualRange.surroundContents(actualNode);         } catch (e) {           if (expectedDoctype != expectedIframe.contentDocument.firstChild) {             expectedIframe.contentDocument.insertBefore(expectedDoctype, expectedIframe.contentDocument.firstChild);           }           if (actualDoctype != actualIframe.contentDocument.firstChild) {             actualIframe.contentDocument.insertBefore(actualDoctype, actualIframe.contentDocument.firstChild);           }           throw e;         }       }", "A INVALID_NODE_TYPE_ERR must be thrown in this case")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:184:7)
Pass39,22: resulting range position for range [processingInstruction, 0, processingInstruction, 4], node foreignDoctype
Asserts run
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for actual surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:219:5)
Pass
assert_equals(null, null, "Unexpected exception thrown when setting up Range for simulated surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:221:5)
Pass
assert_equals("object", "object", "typeof Range produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:223:5)
Pass
assert_not_equals(object "", null, "Range produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:225:5)
Pass
assert_equals("object", "object", "typeof Range produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:227:5)
Pass
assert_not_equals(object "", null, "Range produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:229:5)
Pass
assert_equals("object", "object", "typeof Node produced in actual iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:231:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in actual iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:233:5)
Pass
assert_equals("object", "object", "typeof Node produced in expected iframe")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:235:5)
Pass
assert_not_equals(DocumentType node, null, "Node produced in expected iframe was null")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:237:5)
Pass
assert_equals(0, 0, "Unexpected startOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:244:5)
Pass
assert_equals(4, 4, "Unexpected endOffset after surroundContents()")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:246:5)
Pass
assert_true(true, "Unexpected startContainer after surroundContents(), expected somepi but got somepi")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:252:5)
Pass
assert_equals("0-2", "0-2", "startContainer superficially looks right but is actually the wrong node if you trace back its index in all its ancestors (I'm surprised this actually happened")
    at Test.<anonymous> ( /dom/ranges/Range-surroundContents.html:269:5)