| Index: LayoutTests/fast/dom/Range/range-detached-exceptions.html
|
| diff --git a/LayoutTests/fast/dom/Range/range-detached-exceptions.html b/LayoutTests/fast/dom/Range/range-detached-exceptions.html
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..e391dfa993cd0ab7454042a8f6c20b2a9385c7dd
|
| --- /dev/null
|
| +++ b/LayoutTests/fast/dom/Range/range-detached-exceptions.html
|
| @@ -0,0 +1,51 @@
|
| +<!DOCTYPE html>
|
| +<html>
|
| +<head>
|
| + <script src="../../js/resources/js-test-pre.js"></script>
|
| +</head>
|
| +<body>
|
| + <!-- hidden area to create the ranges being tested -->
|
| + <div style="visibility: hidden">
|
| + <div id=a1>a1
|
| + <div id=b1>b1</div>
|
| + </div>
|
| + </div>
|
| +
|
| + <script>
|
| + function message(method) {
|
| + return '"InvalidStateError: Failed to execute \'' + method + '\' on \'Range\': The range has no container. Perhaps \'detatch()\' has been invoked on this object?"';
|
| + }
|
| +
|
| + description("A variety of Range methods should throw if called on a detached range.");
|
| + var range = document.createRange();
|
| + range.selectNode(document.getElementById("a1"));
|
| + range.detach();
|
| +
|
| + shouldThrow("range.cloneContents()", message("cloneContents"));
|
| + shouldThrow("range.cloneRange()", message("cloneRange"));
|
| + shouldThrow("range.collapsed()", message("collapsed"));
|
| + shouldThrow("range.commonAncestorContainer()", message("commonAncestorContainer"));
|
| + shouldThrow("range.compareBoundaryPoints(Range.START_TO_END, range)", message("compareBoundaryPoints"));
|
| + shouldThrow("range.comparePoint(document.getElementById('b1'), 1)", message("comparePoint"));
|
| + shouldThrow("range.createContextualFragment('p')", message("createContextualFragment"));
|
| + shouldThrow("range.deleteContents()", message("deleteContents"));
|
| + shouldThrow("range.detach()", message("detach"));
|
| + shouldThrow("range.endContainer()", message("endContainer"));
|
| + shouldThrow("range.endOffset()", message("endOffset"));
|
| + shouldThrow("range.extractContents()", message("extractContents"));
|
| + shouldThrow("range.insertNode(document.getElementById('b1'))", message("insertNode"));
|
| + shouldThrow("range.intersectsNode(document.getElementById('b1'))", message("intersectsNode"));
|
| + shouldThrow("range.isPointInRange(document.getElementById('b1'))", message("isPointInRange"));
|
| + shouldThrow("range.selectNode(document.getElementById('b1'))", message("selectNode"));
|
| + shouldThrow("range.selectNodeContents(document.getElementById('b1'))", message("selectNodeContents"));
|
| + shouldThrow("range.setEnd(document.getElementById('b1'))", message("setEnd"));
|
| + shouldThrow("range.setStart(document.getElementById('b1'))", message("setStart"));
|
| + shouldThrow("range.startContainer()", message("startContainer"));
|
| + shouldThrow("range.startContainer()", message("startContainer"));
|
| + shouldThrow("range.startOffset()", message("startOffset"));
|
| + shouldThrow("range.surroundContents(document.getElementById('b1'))", message("surroundContents"));
|
| + shouldThrow("range.toString()", message("toString"));
|
| + </script>
|
| + <script src="../../js/resources/js-test-post.js"></script>
|
| +</body>
|
| +</html>
|
|
|