diff options
Diffstat (limited to 'testing/web-platform/tests/selection/removeAllRanges.html')
-rw-r--r-- | testing/web-platform/tests/selection/removeAllRanges.html | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/testing/web-platform/tests/selection/removeAllRanges.html b/testing/web-platform/tests/selection/removeAllRanges.html new file mode 100644 index 0000000000..026280d6b8 --- /dev/null +++ b/testing/web-platform/tests/selection/removeAllRanges.html @@ -0,0 +1,55 @@ +<!doctype html> +<title>Selection.removeAllRanges()/empty() tests</title> +<div id=log></div> +<script src=/resources/testharness.js></script> +<script src=/resources/testharnessreport.js></script> +<script src=common.js></script> +<script> +"use strict"; + +// Also test a selection with no ranges +testRanges.unshift("[]"); + +var range = rangeFromEndpoints([paras[0].firstChild, 0, paras[0].firstChild, 1]); + +function testRange(rangeDesc, method) { + var endpoints = eval(testRanges[i]); + if (endpoints.length && (!isSelectableNode(endpoints[0]) || + !isSelectableNode(endpoints[2]))) { + return; + } + test(function() { + setSelectionForwards(endpoints); + selection[method](); + assert_equals(selection.rangeCount, 0, + "After " + method + "(), rangeCount must be 0"); + // Test that it's forwards + selection.addRange(range); + assert_equals(selection.anchorOffset, selection.getRangeAt(0).startOffset, + "After " + method + "(), addRange() must be forwards, so anchorOffset must equal startOffset rather than endOffset"); + assert_equals(selection.focusOffset, selection.getRangeAt(0).endOffset, + "After " + method + "(), addRange() must be forwards, so focusOffset must equal endOffset rather than startOffset"); + }, method + " on " + rangeDesc + " forwards"); + + // Copy-pasted from above + test(function() { + setSelectionBackwards(endpoints); + selection[method](); + assert_equals(selection.rangeCount, 0, + "After " + method + "(), rangeCount must be 0"); + // Test that it's forwards + selection.addRange(range); + assert_equals(selection.anchorOffset, selection.getRangeAt(0).startOffset, + "After " + method + "(), addRange() must be forwards, so anchorOffset must equal startOffset rather than endOffset"); + assert_equals(selection.focusOffset, selection.getRangeAt(0).endOffset, + "After " + method + "(), addRange() must be forwards, so focusOffset must equal endOffset rather than startOffset"); + }, method + " on " + rangeDesc + " backwards"); +} + +for (var i = 0; i < testRanges.length; i++) { + testRange(testRanges[i], "removeAllRanges"); + testRange(testRanges[i], "empty"); +} + +testDiv.style.display = "none"; +</script> |