| <!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 not [NoInterfaceObject]'); |
| |
| 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> |