<head>
    <script>
        function log(test)
        {
            var result = eval(test);
            document.getElementById("results").appendChild(document.createTextNode((result ? "PASS" : "FAIL") + ": " + test + "\n"));
        }
        function test()
        {
            if (window.testRunner)
                testRunner.dumpAsText();

            log("document.all.item('1') == document.all.item(1)");
            log("document.all.item('target') == document.getElementById('target')");
            log("document.all.item('foo') == undefined");
        }
    </script>
</head>
<body onload="test()">
    <p>
        Test for <i><a href="http://bugs.webkit.org/show_bug.cgi?id=11078">http://bugs.webkit.org/show_bug.cgi?id=11078</a>
        Forms Don't Submit (ASP Pages)</i>.
    </p>
    <pre id="results"></pre>
    <div id="target"></div>
    <div id="1"></div>
</body>
