summaryrefslogtreecommitdiffstats
path: root/toolkit/components/passwordmgr/test/test_xhr.html
diff options
context:
space:
mode:
Diffstat (limited to 'toolkit/components/passwordmgr/test/test_xhr.html')
-rw-r--r--toolkit/components/passwordmgr/test/test_xhr.html201
1 files changed, 0 insertions, 201 deletions
diff --git a/toolkit/components/passwordmgr/test/test_xhr.html b/toolkit/components/passwordmgr/test/test_xhr.html
deleted file mode 100644
index 296371685..000000000
--- a/toolkit/components/passwordmgr/test/test_xhr.html
+++ /dev/null
@@ -1,201 +0,0 @@
-<!DOCTYPE HTML>
-<html>
-<head>
- <meta charset="utf-8">
- <title>Test for XHR prompts</title>
- <script type="text/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
- <script type="text/javascript" src="pwmgr_common.js"></script>
- <script type="text/javascript" src="prompt_common.js"></script>
- <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css" />
-</head>
-<body>
-Login Manager test: XHR prompt
-<p id="display"></p>
-
-<div id="content" style="display: none">
- <iframe id="iframe"></iframe>
-</div>
-
-<pre id="test">
-<script class="testbody" type="text/javascript">
-
-/** Test for Login Manager: XHR prompts. **/
-var pwmgr, login1, login2;
-
-function initLogins() {
- pwmgr = Cc["@mozilla.org/login-manager;1"].
- getService(Ci.nsILoginManager);
-
- login1 = Cc["@mozilla.org/login-manager/loginInfo;1"].
- createInstance(Ci.nsILoginInfo);
- login2 = Cc["@mozilla.org/login-manager/loginInfo;1"].
- createInstance(Ci.nsILoginInfo);
-
- login1.init("http://mochi.test:8888", null, "xhr",
- "xhruser1", "xhrpass1", "", "");
- login2.init("http://mochi.test:8888", null, "xhr2",
- "xhruser2", "xhrpass2", "", "");
-
- pwmgr.addLogin(login1);
- pwmgr.addLogin(login2);
-}
-
-function finishTest() {
- ok(true, "finishTest removing testing logins...");
- pwmgr.removeLogin(login1);
- pwmgr.removeLogin(login2);
-
- SimpleTest.finish();
-}
-
-function handleDialog(doc, testNum) {
- ok(true, "handleDialog running for test " + testNum);
-
- var clickOK = true;
- var userfield = doc.getElementById("loginTextbox");
- var passfield = doc.getElementById("password1Textbox");
- var username = userfield.getAttribute("value");
- var password = passfield.getAttribute("value");
- var dialog = doc.getElementById("commonDialog");
-
- switch (testNum) {
- case 1:
- is(username, "xhruser1", "Checking provided username");
- is(password, "xhrpass1", "Checking provided password");
- break;
-
- case 2:
- is(username, "xhruser2", "Checking provided username");
- is(password, "xhrpass2", "Checking provided password");
-
- // Check that the dialog is modal, chrome and dependent;
- // We can't just check window.opener because that'll be
- // a content window, which therefore isn't exposed (it'll lie and
- // be null).
- var win = doc.defaultView;
- var Ci = SpecialPowers.Ci;
- var treeOwner = win.QueryInterface(Ci.nsIInterfaceRequestor).getInterface(Ci.nsIWebNavigation).
- QueryInterface(Ci.nsIDocShellTreeItem).treeOwner;
- treeOwner.QueryInterface(Ci.nsIInterfaceRequestor);
- var flags = treeOwner.getInterface(Ci.nsIXULWindow).chromeFlags;
- var wbc = treeOwner.getInterface(Ci.nsIWebBrowserChrome);
- info("Flags: " + flags);
- ok((flags & Ci.nsIWebBrowserChrome.CHROME_OPENAS_CHROME) != 0,
- "Dialog should be opened as chrome");
- ok((flags & Ci.nsIWebBrowserChrome.CHROME_OPENAS_DIALOG) != 0,
- "Dialog should be opened as a dialog");
- ok((flags & Ci.nsIWebBrowserChrome.CHROME_DEPENDENT) != 0,
- "Dialog should be opened as dependent.");
- ok(wbc.isWindowModal(), "Dialog should be modal");
-
- // Check that the right tab is focused:
- var browserWin = SpecialPowers.Services.wm.getMostRecentWindow("navigator:browser");
- var spec = browserWin.gBrowser.selectedBrowser.currentURI.spec;
- ok(spec.startsWith("http://mochi.test:8888"),
- "Tab with remote URI (rather than about:blank) should be focused (" + spec + ")");
-
-
- break;
-
- default:
- ok(false, "Uhh, unhandled switch for testNum #" + testNum);
- break;
- }
-
- // Explicitly cancel the dialog and report a fail in this failure
- // case, rather than letting the dialog get stuck due to an auth
- // failure and having the test timeout.
- if (!username && !password) {
- ok(false, "No values prefilled");
- clickOK = false;
- }
-
- if (clickOK)
- dialog.acceptDialog();
- else
- dialog.cancelDialog();
-
- ok(true, "handleDialog done");
- didDialog = true;
-}
-
-var newWin;
-function xhrLoad(xmlDoc) {
- ok(true, "xhrLoad running for test " + testNum);
-
- // The server echos back the user/pass it received.
- var username = xmlDoc.getElementById("user").textContent;
- var password = xmlDoc.getElementById("pass").textContent;
- var authok = xmlDoc.getElementById("ok").textContent;
-
-
- switch (testNum) {
- case 1:
- is(username, "xhruser1", "Checking provided username");
- is(password, "xhrpass1", "Checking provided password");
- break;
-
- case 2:
- is(username, "xhruser2", "Checking provided username");
- is(password, "xhrpass2", "Checking provided password");
-
- newWin.close();
- break;
-
- default:
- ok(false, "Uhh, unhandled switch for testNum #" + testNum);
- break;
- }
-
- doTest();
-}
-
-function doTest() {
- switch (++testNum) {
- case 1:
- startCallbackTimer();
- makeRequest("authenticate.sjs?user=xhruser1&pass=xhrpass1&realm=xhr");
- break;
-
- case 2:
- // Test correct parenting, by opening another tab in the foreground,
- // and making sure the prompt re-focuses the original tab when shown:
- newWin = window.open();
- newWin.focus();
- startCallbackTimer();
- makeRequest("authenticate.sjs?user=xhruser2&pass=xhrpass2&realm=xhr2");
- break;
-
- default:
- finishTest();
- }
-}
-
-function makeRequest(uri) {
- var request = new XMLHttpRequest();
- request.open("GET", uri, true);
- request.onreadystatechange = function () {
- if (request.readyState == 4)
- xhrLoad(request.responseXML);
- };
- request.send(null);
-}
-
-
-initLogins();
-
-// clear plain HTTP auth sessions before the test, to allow
-// running them more than once.
-var authMgr = SpecialPowers.Cc['@mozilla.org/network/http-auth-manager;1']
- .getService(SpecialPowers.Ci.nsIHttpAuthManager);
-authMgr.clearAll();
-
-// start the tests
-testNum = 0;
-doTest();
-
-SimpleTest.waitForExplicitFinish();
-</script>
-</pre>
-</body>
-</html>