<!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>
