| <body> | |
| <p><a href="rdar://problem/6447115">rdar://problem/6447115</a> Test that a method for logging out of a site that is used by SAP works.</p> | |
| <p>If an authentication dialog appears, please cancel it.</p> | |
| <span>Login: </span><span id="login">FAIL - Test not run</span><br> | |
| <span>Async request sent before logout: </span><span id="async">FAIL - Test not run</span><br> | |
| <span>Logout: </span><span id="logout">FAIL - Test not run</span> | |
| <script> | |
| if (window.testRunner) { | |
| testRunner.dumpAsText(); | |
| testRunner.waitUntilDone(); | |
| } | |
| function login() | |
| { | |
| var xhr = new XMLHttpRequest; | |
| // "?login" is only here for ease of debugging; it doesn't affect behavior. | |
| xhr.open("GET", "resources/logout/resource.php?login", false, "user", "pass"); | |
| xhr.send(""); | |
| } | |
| function logout() | |
| { | |
| var xhr = new XMLHttpRequest; | |
| // logout.html doesn't even exist - we don't need to send this request to server. | |
| xhr.open("GET", "resources/logout/subdirectory/logout.html", true, "logout", "logout"); | |
| xhr.send(""); | |
| xhr.abort(); | |
| } | |
| function isAuthenticated() | |
| { | |
| var xhr = new XMLHttpRequest; | |
| // "?isAuthenticated" is only here for ease of debugging; it doesn't affect behavior. | |
| xhr.open("GET", "resources/logout/resource.php?isAuthenticated", false); | |
| xhr.send(""); | |
| return xhr.status == 200; | |
| } | |
| login(); | |
| document.getElementById("login").innerHTML = isAuthenticated() ? "PASS" : "FAIL"; | |
| // Test that a request sent before logout actually has credentials. | |
| var r = new XMLHttpRequest; | |
| r.open("GET", "resources/logout/resource.php?isAuthenticated", true); | |
| r.onload = function() { | |
| document.getElementById("async").innerHTML = r.status == 200 ? "PASS" : "FAIL"; | |
| if (window.testRunner) | |
| testRunner.notifyDone(); | |
| } | |
| r.send(""); | |
| logout(); | |
| document.getElementById("logout").innerHTML = isAuthenticated() ? "FAIL" : "PASS"; | |
| </script> | |
| </body> |