wpt / css / geometry / DOMRectList.html

Status: FAIL | Duration: 49ms | Subtests: 1/5 | Open test on wpt.live | wpt.fyi

Data from commit:
1884860 Copy-on-write style attribute blocks that are in the rule tree (#831) (2026-09-02)

SubtestStatusMessage
DOMRectList is exposedFAILassert_true: expected true got false
DOMRectList is not [LegacyArrayClass]FAILassert_false: expected false got true
DOMRectList lengthPASS
DOMRectList indexed getterFAILassert_class_string: domRectList[0] expected "[object DOMRect]" but got "[object Object]"
DOMRectList item()FAILnot a callable function

/css/geometry/DOMRectList.html

<!DOCTYPE html>
<title>Geometry interfaces: DOMRectList</title>
<link rel="help" href="https://drafts.fxtf.org/geometry-1/#DOMRectList">
<script src=/resources/testharness.js></script>
<script src=/resources/testharnessreport.js></script>
<div id=x>x</div>
<script>
setup(() => {
  window.domRectList = document.getElementById('x').getClientRects();
});

test(() => {
  assert_true('DOMRectList' in window);
}, 'DOMRectList is exposed');

test(() => {
  assert_false(domRectList instanceof Array);
}, 'DOMRectList is not [LegacyArrayClass]');

test(() => {
  assert_equals(domRectList.length, 1);
}, 'DOMRectList length');

test(() => {
  assert_equals(domRectList[-1], undefined, 'domRectList[-1]');
  assert_class_string(domRectList[0], 'DOMRect', 'domRectList[0]');
  assert_equals(domRectList[1], undefined, 'domRectList[1]');
}, 'DOMRectList indexed getter');

test(() => {
  assert_equals(domRectList.item(-1), null, 'domRectList.item(-1)');
  assert_class_string(domRectList.item(0), 'DOMRect', 'domRectList.item(0)');
  assert_equals(domRectList.item(1), null, 'domRectList.item(1)');
  assert_equals(domRectList.item(0), domRectList[0], 'domRectList.item(0) should equal domRectList[0]');
}, 'DOMRectList item()');
</script>