<html>
    <head>
        <script type="text/javascript">
            if (window.layoutTestController)
                layoutTestController.dumpAsText();

            function test()
            {
                var a = document.getElementById('a');
                var b = document.getElementById('b');
                var r = document.getElementById('result');
                document.body.appendChild(b);
                document.body.removeChild(a);
                var l = b.elements.length;
                result.innerText = l == 0 ? 'PASS' : 'FAIL: ' + l;
            }
        </script>
    </head>
    <body onload="test()">
        <p>
            This tests for a regression against
            <i><a href="http://bugzilla.opendarwin.org/show_bug.cgi?id=5926">http://bugzilla.opendarwin.org/show_bug.cgi?id=5926</a>
            Assertion failure in HTMLGenericFormElementImpl::removedFromTree</i>.
        </p>
        <hr>
        <p>
            Test result: <span id="result">FAIL: didn't finish</span>
        </p>
        <form id="a">
            <table></form>
            <form id="b">
                <input type="submit" value="Log In">
            </form>
    </body>
</html>
