48 lines
1.3 KiB
HTML
48 lines
1.3 KiB
HTML
<!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>
|