<!DOCTYPE html>
<html>
<head>
    <title>CSSOM View API Test: the length of getClientRects</title>
    <link rel="author" title="simplezeroec" href="mailto:zhaolp0419@gmail.com">
    <link rel="help" href="https://www.w3.org/TR/cssom-view/#dom-element-getclientrects">
    <meta name="flags" content="dom">
    <meta name="assert" content="getClientRects will return rects of the correct number">
    <script src="../../../../../resources/testharness.js"></script>
    <script src="../../../../../resources/testharnessreport.js"></script>

</head>
<body>
    <div id="rectcontainer">
        <button id="testBtn" >Test</button>
        <a id="testLink">Test Link</a>
    </div>
    <div id="log"></div>
    <script>

        test(function(){assert_equals(document.getElementById("rectcontainer").getClientRects().length,1,"1 ClientRects should be returned");},"assert_length_of_getClientRects_from_Parent");
        test(function(){assert_equals(document.getElementById("testBtn").getClientRects().length,1,"1 ClientRects should be returned");},"assert_length_of_getClientRects_from_Button");
        test(function(){assert_equals(document.getElementById("testLink").getClientRects().length,1,"1 ClientRects should be returned");},"assert_length_of_getClientRects_from_Link");


    </script>
</body>
</html>
