blob: cc6b6925608470af573947e3081036a01408ca7d [file] [log] [blame]
Andrew Top61a84952019-04-30 15:07:33 -07001<!doctype html>
2<title>Selection.removeAllRanges() tests</title>
3<div id=log></div>
4<script src=/resources/testharness.js></script>
5<script src=/resources/testharnessreport.js></script>
6<script src=common.js></script>
7<script>
8"use strict";
9
10// Also test a selection with no ranges
11testRanges.unshift("[]");
12
13var range = rangeFromEndpoints([paras[0].firstChild, 0, paras[0].firstChild, 1]);
14
15for (var i = 0; i < testRanges.length; i++) {
16 test(function() {
17 setSelectionForwards(eval(testRanges[i]));
18 selection.removeAllRanges();
19 assert_equals(selection.rangeCount, 0,
20 "After removeAllRanges(), rangeCount must be 0");
21 // Test that it's forwards
22 selection.addRange(range);
23 assert_equals(selection.anchorOffset, selection.getRangeAt(0).startOffset,
24 "After removeAllRanges(), addRange() must be forwards, so anchorOffset must equal startOffset rather than endOffset");
25 assert_equals(selection.focusOffset, selection.getRangeAt(0).endOffset,
26 "After removeAllRanges(), addRange() must be forwards, so focusOffset must equal endOffset rather than startOffset");
27 }, "Range " + i + " " + testRanges[i] + " forwards");
28
29 // Copy-pasted from above
30 test(function() {
31 setSelectionBackwards(eval(testRanges[i]));
32 selection.removeAllRanges();
33 assert_equals(selection.rangeCount, 0,
34 "After removeAllRanges(), rangeCount must be 0");
35 // Test that it's forwards
36 selection.addRange(range);
37 assert_equals(selection.anchorOffset, selection.getRangeAt(0).startOffset,
38 "After removeAllRanges(), addRange() must be forwards, so anchorOffset must equal startOffset rather than endOffset");
39 assert_equals(selection.focusOffset, selection.getRangeAt(0).endOffset,
40 "After removeAllRanges(), addRange() must be forwards, so focusOffset must equal endOffset rather than startOffset");
41 }, "Range " + i + " " + testRanges[i] + " backwards");
42}
43
44testDiv.style.display = "none";
45</script>