Index: third_party/WebKit/LayoutTests/external/wpt/selection/removeRange.html |
diff --git a/third_party/WebKit/LayoutTests/external/wpt/selection/removeRange.html b/third_party/WebKit/LayoutTests/external/wpt/selection/removeRange.html |
new file mode 100644 |
index 0000000000000000000000000000000000000000..723f5105ca57def7849acbb3f82ca2d018569104 |
--- /dev/null |
+++ b/third_party/WebKit/LayoutTests/external/wpt/selection/removeRange.html |
@@ -0,0 +1,45 @@ |
+<!DOCTYPE html> |
+<title>Selection.removeRange tests</title> |
+<body> |
+<script src="/resources/testharness.js"></script> |
+<script src="/resources/testharnessreport.js"></script> |
+<script src="common.js"></script> |
+<script> |
+"use strict"; |
+ |
+testRanges.forEach(function(rangeData, index) { |
+ var endpoints = eval(rangeData); |
+ if (!isSelectableNode(endpoints[0]) || !isSelectableNode(endpoints[2])) |
+ return; |
+ test(function() { |
+ var selection = getSelection(); |
+ selection.removeAllRanges(); |
+ var range = ownerDocument(endpoints[0]).createRange(); |
+ range.setStart(endpoints[0], endpoints[1]); |
+ range.setEnd(endpoints[2], endpoints[3]); |
+ |
+ selection.addRange(range); |
+ assert_equals(selection.rangeCount, 1); |
+ selection.removeRange(range); |
+ assert_equals(selection.rangeCount, 0, 'Range should be correctly removed.'); |
+ assert_equals(selection.anchorNode, null); |
+ assert_equals(selection.focusNode, null); |
+ |
+ selection.addRange(range); |
+ assert_equals(selection.rangeCount, 1); |
+ var equivalentRange = ownerDocument(endpoints[0]).createRange(); |
+ equivalentRange.setStart(endpoints[0], endpoints[1]); |
+ equivalentRange.setEnd(endpoints[2], endpoints[3]); |
+ selection.removeRange(equivalentRange); |
+ assert_equals(selection.rangeCount, 1, 'Equivalent Range should not remove the registered Range.'); |
+ |
+ }, 'removeRange() with Range ' + index); |
+}); |
+ |
+test(function() { |
+ var selection = getSelection(); |
+ assert_throws(new TypeError(), function() { selection.removeRange(null); }); |
+ assert_throws(new TypeError(), function() { selection.removeRange(selection); }); |
+}, 'removeRange() argument is non-optional Range'); |
+</script> |
+</body> |