Index: LayoutTests/fast/dom/Range/surroundContents-for-detached-node.html |
diff --git a/LayoutTests/fast/dom/Range/surroundContents-for-detached-node.html b/LayoutTests/fast/dom/Range/surroundContents-for-detached-node.html |
new file mode 100644 |
index 0000000000000000000000000000000000000000..856dd58a803d543618e372ace36d64649c8eb98c |
--- /dev/null |
+++ b/LayoutTests/fast/dom/Range/surroundContents-for-detached-node.html |
@@ -0,0 +1,29 @@ |
+<div id="container"> |
+<p id="description"></p> |
+<div id="sample">0123456789</div> |
+</div> |
+<div id="console"></div> |
+<script src="../../js/resources/js-test-pre.js"></script> |
+<script> |
+description('Range.surroundContents() should not throw exception for detached node.'); |
+function $(id) { return document.getElementById(id); } |
+ |
+function surroundContents(node) { |
+ var range = document.createRange(); |
+ range.setStart(node.firstChild, 2); |
+ range.setEnd(node.firstChild, 6); |
+ var newNode = document.createElement('b'); |
+ range.surroundContents(newNode); |
+ return newNode.outerHTML; |
+} |
+ |
+var sample = $('sample'); |
+var expected = '<b>' + sample.firstChild.textContent.substring(2, 6) + '</b>'; |
+shouldBeEqualToString('surroundContents(sample.cloneNode(true))', expected); |
+sample.parentNode.removeChild(sample); |
+shouldBeEqualToString('surroundContents(sample)', expected); |
+ |
+if (window.testRunner) |
+ $('container').outerHTML = ''; |
+</script> |
+<script src="../../js/resources/js-test-post.js"></script> |