4 <link rel=
"help" href=
"http://dev.w3.org/csswg/cssom-view/#dom-clientrectlist-item">
5 <script src=
"../../../resources/js-test.js"></script>
15 background-color: green;
21 <p>14. Block in inline
</p> <span id=
"testElement" class=
"testBox">Lorem
<div id=
"inner"></div>ipsum
</span>
24 description("Tests that the ClientRectList.item() argument is correctly validated.");
26 var clientRects
= document
.getElementById("testElement").getClientRects();
27 shouldBe("clientRects.__proto__", "ClientRectList.prototype");
29 shouldBe("clientRects.length", "3");
30 shouldNotBe("clientRects.item(0)", "null");
31 shouldNotBe("clientRects.item(1)", "null");
32 shouldNotBe("clientRects.item(2)", "null");
33 shouldThrow("clientRects.item()", '"TypeError: Failed to execute \'item\' on \'ClientRectList\': 1 argument required, but only 0 present."');
34 shouldBe("clientRects.item(-4294967294)", "clientRects.item(2)"); // -4294967294 wraps to 2.
36 // According to the specification, we should throw an IndexSizeError exception when index is
37 // greater than the number of ClientRect objects associated with the object.
38 // However, we currently just return null like Firefox 22.
39 shouldBeNull("clientRects.item(3)");
40 shouldBeNull("clientRects.item(999)");
41 shouldBeNull("clientRects.item(-1)");