blob: f15da260475b530c94f3f5bfe8616674b7e6413a [file] [log] [blame]
<body>
<p><a href="rdar://problem/7062824">rdar://problem/7062824</a> A wrong password entered for site or proxy auth remains in WebCore credential storage, and is sent with subsequent requests.</p>
<p>This test counts the number of failed requests server side.</p>
<div id = result>Testing... Please cancel all authentication dialogs.</div></br>
<div>Sync</div>
<button onclick="sendWithCredentials(false)">With credentials</button>
<button onclick="sendWithoutCredentials(false)">Without credentials</button>
<div>Async</div>
<button onclick="sendWithCredentials(true)">With credentials</button>
<button onclick="sendWithoutCredentials(true)">Without credentials</button>
<br>
<button onclick="status()">Status</button>
<script>
if (window.testRunner) {
testRunner.dumpAsText();
testRunner.waitUntilDone()
}
function sendWithCredentials(next)
{
var xhr = new XMLHttpRequest;
xhr.open("GET", "resources/remember-bad-password/count-failures.php", next ? true : false, "foo", "bar");
xhr.send("");
if (next) {
xhr.onload = next;
xhr.onerror = next;
}
}
function sendWithoutCredentials(next)
{
var xhr = new XMLHttpRequest;
xhr.open("GET", "resources/remember-bad-password/count-failures.php", next ? true : false);
xhr.send("");
if (next) {
xhr.onload = next;
xhr.onerror = next;
}
}
function status()
{
var xhr = new XMLHttpRequest;
xhr.open("GET", "resources/remember-bad-password/count-failures.php?command=status", false);
xhr.send("");
return xhr.responseText;
}
function reset()
{
var xhr = new XMLHttpRequest;
xhr.open("GET", "resources/remember-bad-password/count-failures.php?command=reset", false);
xhr.send("");
}
reset();
sendWithCredentials();
sendWithoutCredentials();
sendWithCredentials(function() {
sendWithoutCredentials(function() {
var s = status();
document.getElementById("result").innerHTML = (s == 2 ? "PASS" : ("FAIL: " + s));
if (window.testRunner)
testRunner.notifyDone();
})});
</script>
</body>