<!DOCTYPE html>
<html>
<head>
    <script>
        if (window.testRunner)
            testRunner.dumpAsText();

        var req = new XMLHttpRequest();
        req.open("GET", "resources/endlessxml.py");
        req.onerror = function () {
            console.log("PASS: Expected 'error', got 'error'.");
        };
        req.onabort = function () {
            console.log("FAIL: Expected 'error', got 'abort'.");
        };
        req.send(null);

        if (window.testRunner)
            testRunner.queueLoad("resources/navigation-target.html");
    </script>
</head>
<body>
    <p>This test requires TestRunner. To execute it manually, open the console, and navigate to <a href="resources/navigation-target.html">resources/navigation-target.html</a>. You should see a "PASS" message in the console.</p>
</body>
</html>
