| <!DOCTYPE html> |
| <html> |
| <head> |
| <link rel="help" href="http://dev.w3.org/csswg/cssom-view/#dom-clientrectlist-item"> |
| <script src="../../../resources/js-test.js"></script> |
| <style> |
| #testArea { |
| width: 300px; |
| } |
| #inner { |
| width: 200px; |
| height: 200px; |
| } |
| .testBox { |
| background-color: green; |
| } |
| </style> |
| </head> |
| <body> |
| <div id="testArea"> |
| <p>14. Block in inline</p> <span id="testElement" class="testBox">Lorem<div id="inner"></div>ipsum</span> |
| </div> |
| <script> |
| description("Tests that the ClientRectList.item() argument is correctly validated."); |
| |
| var clientRects = document.getElementById("testElement").getClientRects(); |
| shouldBe("clientRects.length", "3"); |
| shouldNotBe("clientRects.item(0)", "null"); |
| shouldNotBe("clientRects.item(1)", "null"); |
| shouldNotBe("clientRects.item(2)", "null"); |
| shouldThrow("clientRects.item()", '"TypeError: Failed to execute \'item\' on \'DOMRectList\': 1 argument required, but only 0 present."'); |
| shouldBe("clientRects.item(-4294967294)", "clientRects.item(2)"); // -4294967294 wraps to 2. |
| |
| // According to the specification, we should throw an IndexSizeError exception when index is |
| // greater than the number of ClientRect objects associated with the object. |
| // However, we currently just return null like Firefox 22. |
| shouldBeNull("clientRects.item(3)"); |
| shouldBeNull("clientRects.item(999)"); |
| shouldBeNull("clientRects.item(-1)"); |
| |
| </script> |
| </body> |
| </html> |