| Index: LayoutTests/fast/dom/Range/range-on-detached-node.html
|
| diff --git a/LayoutTests/fast/dom/Range/range-on-detached-node.html b/LayoutTests/fast/dom/Range/range-on-detached-node.html
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..13646114909b8aee18f10b042c68b6e117635b87
|
| --- /dev/null
|
| +++ b/LayoutTests/fast/dom/Range/range-on-detached-node.html
|
| @@ -0,0 +1,34 @@
|
| +<div id="container">
|
| +<p id="description"></p>
|
| +<div id="sample">0123<b>45</b>6789</div>
|
| +</div>
|
| +<div id="console"></div>
|
| +<script src="../../js/resources/js-test-pre.js"></script>
|
| +<script>
|
| +description('Range on detached node should not throw exception.');
|
| +function $(id) { return document.getElementById(id); }
|
| +
|
| +function invalidNodeMessage(methodName)
|
| +{
|
| + return '"InvalidNodeTypeError: Failed to execute \'' + methodName + '\' on \'Range\': the given Node has no parent."'
|
| +}
|
| +
|
| +var sample = $('sample').cloneNode(true);
|
| +var range = document.createRange();
|
| +
|
| +shouldBe('range.selectNode(sample.firstChild); range.startContainer', 'sample');
|
| +shouldBe('range.setEndBefore(sample.firstChild); range.startContainer', 'sample');
|
| +shouldBe('range.setEndAfter(sample.firstChild); range.startContainer', 'sample');
|
| +shouldBe('range.setStartAfter(sample.firstChild); range.startContainer', 'sample');
|
| +shouldBe('range.setStartBefore(sample.firstChild); range.startContainer', 'sample');
|
| +
|
| +shouldThrow('range.selectNode(sample); range.startContainer', invalidNodeMessage('selectNode'));
|
| +shouldThrow('range.setEndAfter(sample); range.startContainer', invalidNodeMessage('setEndAfter'));
|
| +shouldThrow('range.setEndBefore(sample); range.startContainer', invalidNodeMessage('setEndBefore'));
|
| +shouldThrow('range.setStartAfter(sample); range.startContainer', invalidNodeMessage('setStartAfter'));
|
| +shouldThrow('range.setStartBefore(sample); range.startContainer', invalidNodeMessage('setStartBefore'));
|
| +
|
| +if (window.testRunner)
|
| + $('container').outerHTML = '';
|
| +</script>
|
| +<script src="../../js/resources/js-test-post.js"></script>
|
|
|