<!DOCTYPE html>
<html><head>
        <title>getElementsByClassName</title>
        <meta content="verify spacing is handled correctly" name="description">
    <link href="https://dom.spec.whatwg.org/#dom-document-getelementsbyclassname" rel="help">
    <script src="/resources/testharness.js"></script>
    <script src="/resources/testharnessreport.js"></script>
</head>
    <body>
        <div id="log"></div>
         <div>
            <div>
                <a class="text link" href="#foo">test link #foo</a>
            </div>
            <b class="text">text</b>
        </div>
        <table>
            <caption class="text caption">text caption</caption>
            <thead>
                <tr>
                    <td class="TEXT head">TEXT head</td>
                </tr>
            </thead>
            <tbody>
                <tr>
                    <td class="td text1">td text1</td>
                </tr>
                <tr>
                    <td class="td text">td text</td>
                </tr>
                <tr>
                    <td class="td te xt">td te xt</td>
                </tr>
            </tbody>
            <tfoot>
                <tr>
                    <td class="TEXT foot">TEXT foot</td>
                </tr>
            </tfoot>
        </table>
        <div class="xt te">xt te</div>

        <script type="text/javascript">
          test(function()
          {
            var collection = document.getElementsByClassName("text ");
            assert_equals(collection.length, 4);
            var boldText = document.getElementsByTagName("b")[0];
            document.getElementsByTagName("table")[0].tBodies[0].rows[0].cells[0].appendChild(boldText);
            assert_equals(collection.length, 4);
            assert_equals(collection[0].parentNode.nodeName, "DIV");
            assert_equals(collection[1].parentNode.nodeName, "TABLE");
            assert_equals(collection[2].parentNode.nodeName, "TD");
            assert_equals(collection[3].parentNode.nodeName, "TR");
          }, "verify spacing is handled correctly");
        </script>
</body></html>
