<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
<html>
<head>
<script src="../../../resources/js-test-pre.js"></script>
</head>
<body>
<script>
description('Test for proper behavior of Range.insertNode(documentFragment) when startContainer != endContainer');

var p = document.createElement('p');
var t1 = document.createTextNode('12345');
p.appendChild(t1);
var t2 = document.createTextNode('ABCDE');
p.appendChild(t2);
document.body.appendChild(p);
var r = document.createRange();
r.setStart(p, 1);
r.setEnd(t2, 3);
shouldBeEqualToString("r.toString()", "ABC");

var df = document.createDocumentFragment();
var t3 = document.createTextNode("PQR");
var t4 = document.createTextNode("XYZ");
df.appendChild(t3);
df.appendChild(t4);
r.insertNode(df);

shouldBe("p.childNodes.length", "4");
shouldBe("p.childNodes[0]", "t1");
shouldBe("p.childNodes[1]", "t3");
shouldBe("p.childNodes[2]", "t4");
shouldBe("p.childNodes[3]", "t2");

shouldBeFalse("r.collapsed");
shouldBe("r.commonAncestorContainer", "p");
shouldBe("r.startContainer", "p");
shouldBe("r.startOffset", "1");
shouldBe("r.endContainer", "t2");
shouldBe("r.endOffset", "3");
shouldBeEqualToString("r.toString()", "PQRXYZABC")

// clean up after ourselves
document.body.removeChild(p);
</script>
<script src="../../../resources/js-test-post.js"></script>
</body>
</html>
