Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(92)

Unified Diff: LayoutTests/fast/dom/Range/range-detached-exceptions.html

Issue 23964014: Improve exception messages for detached Range objects. (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: rebaseline. Created 7 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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>

Powered by Google App Engine
This is Rietveld 408576698