blob: b16e499140a18606fac4d16cc0b3780a154a1506 [file] [log] [blame]
<p>Test for <a href="http://bugs.webkit.org/show_bug.cgi?id=13075">bug 13075</a>:
XMLHttpRequest with failed authentication should set status to 401.</p>
<ol>
<li>Sync, no credentials:
<li>Sync, incorrect credentials:
<li>Async, no credentials:
<li>Async, incorrect credentials:
</ol>
<script>
function checkResult(n, code) {
document.getElementsByTagName("li")[n - 1].firstChild.nodeValue +=
((code == 401) ? " OK" : (" " + code + " != 401"));
}
function log(n, message) {
document.getElementsByTagName("li")[n - 1].firstChild.nodeValue +=
" " + message;
}
if (window.testRunner) {
testRunner.dumpAsText();
testRunner.waitUntilDone();
} else {
alert("Please cancel all authentication dialogs that will appear");
}
try {
var r = new XMLHttpRequest();
r.open("GET", "resources/basic-auth/basic-auth.php?uid=login1", false);
r.send();
checkResult(1, r.status);
} catch (ex) {
log(1, ex);
}
try {
var r = new XMLHttpRequest();
r.open("GET", "resources/basic-auth/basic-auth.php?uid=login2", false, "badname", "passpw");
r.send();
checkResult(2, r.status);
} catch (ex) {
log(2, ex);
}
try {
var r = new XMLHttpRequest();
r.open("GET", "resources/basic-auth/basic-auth.php?uid=login3", true);
r.onreadystatechange = function() {
if (r.readyState == 4) {
checkResult(3, r.status);
test4();
}
};
r.send();
} catch (ex) {
log(3, ex);
test4();
}
function test4() {
try {
var r = new XMLHttpRequest();
r.open("GET", "resources/basic-auth/basic-auth.php?uid=login4", true, "badname", "passpw");
r.onreadystatechange = function() {
if (r.readyState == 4) {
checkResult(4, r.status);
testRunner.notifyDone();
}
};
r.send();
} catch (ex) {
log(4, ex);
testRunner.notifyDone();
}
}
</script>