| <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> |