<!DOCTYPE html>
<title>CSSOM View APIs that return a DOMRectList</title>
<script src=../../../../../resources/testharness.js></script>
<script src=../../../../../resources/testharnessreport.js></script>
<div id=x>x</div>
<script>
setup(() => {
  window.element = document.getElementById('x');
});

test(() => {
  const domRectList = element.getClientRects();
  assert_class_string(domRectList, 'DOMRectList');
  assert_class_string(domRectList.item(0), 'DOMRect');
}, 'Element getClientRects()');

test(() => {
  const range = new Range();
  range.selectNodeContents(element);
  const domRectList = range.getClientRects();
  assert_class_string(domRectList, 'DOMRectList');
  assert_class_string(domRectList.item(0), 'DOMRect');
}, 'Range getClientRects()');
</script>
