72 lines
3.2 KiB
HTML
72 lines
3.2 KiB
HTML
<!DOCTYPE html>
|
|
<html>
|
|
<body>
|
|
<script src="../../../resources/js-test-pre.js"></script>
|
|
<div id="rootDiv">
|
|
<div id="div1">1</div><div id="div2">2</div><div id="div3">3-begin <div id="div4">4</div><div id="div5">5</div> 3-end</div><div id="div6">6</div><div id="div7">7</div>
|
|
<div id="description">Test various cases of Range.insertNode with nodes in the same container as the Range.</div>
|
|
</div>
|
|
<script>
|
|
var range = document.createRange();
|
|
|
|
var containerElement = document.getElementById("rootDiv");
|
|
|
|
evalAndLog('insertedElement = document.getElementById("div1");');
|
|
evalAndLog('range.setStart(containerElement, 3); range.setEnd(containerElement, 3); range.insertNode(insertedElement);');
|
|
shouldBe('range.startContainer', 'containerElement');
|
|
shouldBe('range.endContainer', 'containerElement');
|
|
shouldBe('range.startOffset', '2');
|
|
shouldBe('range.endOffset', '3');
|
|
shouldBe('range.toString()', '"1"');
|
|
|
|
evalAndLog('range.setStart(containerElement, 3); range.setEnd(containerElement, 3); range.insertNode(insertedElement);');
|
|
shouldBe('range.startContainer', 'containerElement');
|
|
shouldBe('range.endContainer', 'containerElement');
|
|
shouldBe('range.startOffset', '2');
|
|
shouldBe('range.endOffset', '3');
|
|
shouldBe('range.toString()', '"1"');
|
|
|
|
evalAndLog('insertedElement = document.getElementById("div3");');
|
|
evalAndLog('range.setStart(containerElement, 5); range.setEnd(containerElement, 5); range.insertNode(insertedElement);');
|
|
shouldBe('range.startContainer', 'containerElement');
|
|
shouldBe('range.endContainer', 'containerElement');
|
|
shouldBe('range.startOffset', '4');
|
|
shouldBe('range.endOffset', '5');
|
|
shouldBe('range.toString()', '"3-begin 45 3-end"');
|
|
|
|
evalAndLog('range.setStart(containerElement, 5); range.setEnd(containerElement, 5); range.insertNode(insertedElement);');
|
|
shouldBe('range.startContainer', 'containerElement');
|
|
shouldBe('range.endContainer', 'containerElement');
|
|
shouldBe('range.startOffset', '4');
|
|
shouldBe('range.endOffset', '5');
|
|
shouldBe('range.toString()', '"3-begin 45 3-end"');
|
|
|
|
evalAndLog('insertedElement = document.getElementById("div6");');
|
|
evalAndLog('range.setStart(containerElement, 1); range.setEnd(containerElement, 1); range.insertNode(insertedElement);');
|
|
shouldBe('range.startContainer', 'containerElement');
|
|
shouldBe('range.endContainer', 'containerElement');
|
|
shouldBe('range.startOffset', '1');
|
|
shouldBe('range.endOffset', '2');
|
|
shouldBe('range.toString()', '"6"');
|
|
|
|
evalAndLog('insertedElement = document.getElementById("div3");');
|
|
evalAndLog('range.setStart(containerElement, 4); range.setEnd(containerElement, 4); range.insertNode(insertedElement);');
|
|
shouldBe('range.startContainer', 'containerElement');
|
|
shouldBe('range.endContainer', 'containerElement');
|
|
shouldBe('range.startOffset', '4');
|
|
shouldBe('range.endOffset', '5');
|
|
shouldBe('range.toString()', '"3-begin 45 3-end"');
|
|
|
|
shouldBe('documentFragment = range.extractContents(); range.startContainer', 'containerElement');
|
|
shouldBe('range.startOffset', '4');
|
|
shouldBe('range.endContainer', 'containerElement');
|
|
shouldBe('range.endOffset', '4');
|
|
shouldBe('range.insertNode(documentFragment); range.toString()', '"3-begin 45 3-end"');
|
|
|
|
containerElement.style.display = 'none';
|
|
|
|
</script>
|
|
<script src="../../../resources/js-test-post.js"></script>
|
|
</body>
|
|
</html>
|