| <html> |
| <body> |
| <p>Tests for XMLHttpRequest authentication. |
| <script> |
| if (window.testRunner) { |
| testRunner.dumpAsText(); |
| testRunner.waitUntilDone(); |
| } |
| |
| var console_messages = document.createElement("ol"); |
| document.body.appendChild(console_messages); |
| |
| function log(message) |
| { |
| var item = document.createElement("li"); |
| item.appendChild(document.createTextNode(message)); |
| console_messages.appendChild(item); |
| } |
| |
| function sendAndLogResponse(uid, req) |
| { |
| try { |
| req.send(""); |
| log(uid + ': ' + req.responseText); |
| } catch (e) { |
| log(uid + ": req.send raised exception: " + e); |
| log(uid + ": req.readyState: " + req.readyState); |
| log(uid + ": req.status: " + req.status); |
| } |
| } |
| |
| // sync |
| req = new XMLHttpRequest; |
| req.open("GET", "resources/basic-auth/basic-auth.py?uid=sync", false, "sync", "123"); |
| sendAndLogResponse("sync", req); |
| |
| req.open("GET", document.URL.replace("basic-auth.html", "resources/basic-auth/basic-auth.py?uid=sync2"), false, "sync2", "123"); |
| sendAndLogResponse("sync2", req); |
| |
| req.open("GET", document.URL.replace("basic-auth.html", "resources/basic-auth/basic-auth.py?uid=sync3").replace("http://", "http://sync3:123@"), false); |
| sendAndLogResponse("sync3", req); |
| |
| req.open("GET", document.URL.replace("basic-auth.html", "resources/basic-auth/basic-auth.py?uid=sync4").replace("http://", "http://incorrect:incorrect@"), false, "sync4", "123"); |
| sendAndLogResponse("sync4", req); |
| |
| req.open("GET", document.URL.replace("basic-auth.html", "resources/basic-auth/basic-auth.py?uid=sync5").replace("http://", "http://sync5:123@"), false, undefined, undefined); |
| sendAndLogResponse("sync5", req); |
| |
| req.open("GET", document.URL.replace("basic-auth.html", "resources/basic-auth/basic-auth.py?uid=sync6").replace("http://", "http://sync6:123@"), false, undefined); |
| sendAndLogResponse("sync6", req); |
| |
| req.open("GET", document.URL.replace("basic-auth.html", "resources/basic-auth/basic-auth.py?uid=sync7").replace("http://", "http://sync7:incorrect@"), false, undefined, "123"); |
| sendAndLogResponse("sync7", req); |
| |
| // async |
| var asyncStep = 1; |
| |
| req.onreadystatechange = processStateChange; |
| req.open("GET", "resources/basic-auth/basic-auth.py?uid=async", true, "async", "123"); |
| req.send(""); |
| |
| function processStateChange() { |
| |
| if (req.readyState == 4){ |
| if (req.status == 200){ |
| if (asyncStep == 1) { |
| asyncStep = 2; |
| log('async: ' + req.responseText); |
| req.onreadystatechange = processStateChange; |
| req.open("GET", document.URL.replace("basic-auth.html", "resources/basic-auth/basic-auth.py?uid=async2"), true, "async2", "123"); |
| req.send(""); |
| } else if (asyncStep == 2) { |
| asyncStep = 3; |
| log('async2: ' + req.responseText); |
| req.onreadystatechange = processStateChange; |
| req.open("GET", document.URL.replace("basic-auth.html", "resources/basic-auth/basic-auth.py?uid=async3").replace("http://", "http://async3:123@"), true, "async3", "123"); |
| req.send(""); |
| } else if (asyncStep == 3) { |
| asyncStep = 4; |
| log('async3: ' + req.responseText); |
| req.onreadystatechange = processStateChange; |
| req.open("GET", document.URL.replace("basic-auth.html", "resources/basic-auth/basic-auth.py?uid=async4").replace("http://", "http://incorrect:incorrect@"), true, "async4", "123"); |
| req.send(""); |
| } else if (asyncStep == 4) { |
| asyncStep = 5; |
| log('async4: ' + req.responseText); |
| req.onreadystatechange = processStateChange; |
| req.open("GET", document.URL.replace("basic-auth.html", "resources/basic-auth/basic-auth.py?uid=async5").replace("http://", "http://async5:123@"), true, undefined, undefined); |
| req.send(""); |
| } else if (asyncStep == 5) { |
| asyncStep = 6; |
| log('async5: ' + req.responseText); |
| req.onreadystatechange = processStateChange; |
| req.open("GET", document.URL.replace("basic-auth.html", "resources/basic-auth/basic-auth.py?uid=async6").replace("http://", "http://async6:123@"), true, undefined); |
| req.send(""); |
| } else if (asyncStep == 6) { |
| asyncStep = 7; |
| log('async6: ' + req.responseText); |
| req.onreadystatechange = processStateChange; |
| req.open("GET", document.URL.replace("basic-auth.html", "resources/basic-auth/basic-auth.py?uid=async7").replace("http://", "http://async7:incorrect@"), true, undefined, "123"); |
| req.send(""); |
| } else if (asyncStep == 7) { |
| log('async7: ' + req.responseText); |
| if (window.testRunner) |
| testRunner.notifyDone(); |
| } |
| } else { |
| log("async" + asyncStep + " failed with unexpected status: " + req.status); |
| } |
| } |
| } |
| </script> |
| </body> |
| </html> |