| <body> |
| <p>Test that Basic credentials are sent preemptively, without waiting for 401 response code. This is not a MUST level requirement in RFC 2616, but it's good to implement.</p> |
| <p>No authentication dialogs should appear, and the below line should say "PASS".</p> |
| <div id=result>Test didn't run.</div> |
| <script> |
| if (window.testRunner) { |
| testRunner.dumpAsText(); |
| testRunner.waitUntilDone(); |
| } |
| |
| function step1() |
| { |
| // Remember credentials for a protection space. |
| var req = new XMLHttpRequest; |
| req.open("GET", "resources/basic-auth-default/dir1/basic-auth.php", true, "test", "test"); |
| req.onload = step2; |
| document.getElementById("result").innerHTML = "Testing, step 1..."; |
| req.send(); |
| } |
| |
| function step2() |
| { |
| // Same protection space, another directory. The first request will go out without credentials |
| // (untested), and then we'll remember that this directory in the same protection space. |
| var req = new XMLHttpRequest; |
| req.open("GET", "resources/basic-auth-default/dir2/basic-auth.php", true); |
| req.onload = step3; |
| document.getElementById("result").innerHTML = "Testing, step 2..."; |
| req.send(); |
| } |
| |
| function step3() |
| { |
| // Same directory, so the very first request should carry basic credentials. If there are none, |
| // the script will return code 500. |
| var req = new XMLHttpRequest; |
| req.open("GET", "resources/basic-auth-default/dir2/catch.php", true); |
| req.onload = function() { |
| document.getElementById("result").innerHTML = req.status == 200 ? "PASS" : "FAIL"; |
| if (window.testRunner) |
| testRunner.notifyDone(); |
| } |
| document.getElementById("result").innerHTML = "Testing, step 3..."; |
| req.send(); |
| } |
| |
| step1(); |
| </script> |
| </body> |