32 lines
1 KiB
HTML
32 lines
1 KiB
HTML
<!DOCTYPE html>
|
|
<title>The getRangeAt method</title>
|
|
<script src=/resources/testharness.js></script>
|
|
<script src=/resources/testharnessreport.js></script>
|
|
<link rel="help" href="https://w3c.github.io/selection-api/#dom-selection-getrangeat">
|
|
<body>
|
|
<script>
|
|
const sel = getSelection();
|
|
|
|
test(function() {
|
|
var range = document.createRange();
|
|
sel.addRange(range);
|
|
assert_throws_dom("INDEX_SIZE_ERR", function() { sel.getRangeAt(-1); })
|
|
assert_throws_dom("INDEX_SIZE_ERR", function() { sel.getRangeAt(1); })
|
|
}, "Only supports index 0");
|
|
|
|
test(() => {
|
|
sel.removeAllRanges();
|
|
assert_throws_dom("INDEX_SIZE_ERR", () => sel.getRangeAt(0))
|
|
}, "Throws when with no range");
|
|
|
|
test(() => {
|
|
sel.addRange(document.createRange());
|
|
assert_equals(sel.getRangeAt(0), sel.getRangeAt(0));
|
|
}, "Returns the same range object when with no selection change");
|
|
|
|
test(() => {
|
|
const range = sel.getRangeAt(0);
|
|
sel.collapse(document.body);
|
|
assert_not_equals(range, sel.getRangeAt(0));
|
|
}, "Returns a different range object when with selection change");
|
|
</script>
|