<html>
<body>
<p>Tests for XMLHttpRequest authentication with only username or password set
<script>
    if (window.testRunner) {
        if (window.testRunner.setHandlesAuthenticationChallenges && window.testRunner.setAuthenticationPassword) {
            testRunner.setHandlesAuthenticationChallenges(true);
            testRunner.setAuthenticationPassword("password");
        }
        testRunner.dumpAsText();
        testRunner.queueLoad("http://:password@localhost:8000/xmlhttprequest/resources/basic-auth-nouserpass/basic-auth-nouserpass.php");
    }

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