55 lines
2.3 KiB
HTML
55 lines
2.3 KiB
HTML
<!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>
|