Bug 600202 - Saved HTTP Auth password does not show the 'Forget Password' action (tests) [r=vingtetun]

This commit is contained in:
Wesley Johnston 2010-10-06 15:51:31 -04:00
parent 4751555027
commit 3f6c11cd60
2 changed files with 60 additions and 0 deletions

View File

@ -65,6 +65,7 @@ _BROWSER_FILES = \
browser_preferences_basic.js \
browser_preferences_text.js \
browser_rect.js \
browser_rememberPassword.js \
browser_select.html \
browser_select.js \
browser_sessionstore.js \

View File

@ -0,0 +1,59 @@
var testURL_01 = chromeRoot + "browser_blank_01.html";
// Tests for the Remember Password UI
let gCurrentTab = null;
function test() {
waitForExplicitFinish();
gCurrentTab = Browser.addTab(testURL_01, true);
messageManager.addMessageListener("pageshow", function() {
if (gCurrentTab.browser.currentURI.spec == testURL_01) {
messageManager.removeMessageListener("pageshow", arguments.callee);
pageLoaded();
}
});
}
function pageLoaded() {
let iHandler = getIdentityHandler();
let iPassword = document.getElementById("pageaction-password");
let lm = getLoginManager();
let host = gCurrentTab.browser.currentURI.prePath;
let nullSubmit = createLogin(host, host, null);
let nullForm = createLogin(host, null, "realm");
lm.removeAllLogins();
iHandler.show();
is(iPassword.hidden, true, "Remember password hidden for no logins");
iHandler.hide();
lm.addLogin(nullSubmit);
iHandler.show();
is(iPassword.hidden, false, "Remember password shown for form logins");
iPassword.click();
is(iPassword.hidden, true, "Remember password hidden after click");
is(lm.countLogins(host, "", null), 0, "Logins deleted when clicked");
iHandler.hide();
lm.addLogin(nullForm);
iHandler.show();
is(iPassword.hidden, false, "Remember password shown for protocol logins");
iPassword.click();
is(iPassword.hidden, true, "Remember password hidden after click");
is(lm.countLogins(host, null, ""), 0, "Logins deleted when clicked");
iHandler.hide();
Browser.closeTab(gCurrentTab);
finish();
}
function getLoginManager() {
return Components.classes["@mozilla.org/login-manager;1"].getService(Components.interfaces.nsILoginManager);
}
function createLogin(aHostname, aFormSubmitURL, aRealm) {
let nsLoginInfo = new Components.Constructor("@mozilla.org/login-manager/loginInfo;1", Components.interfaces.nsILoginInfo, "init");
return new nsLoginInfo(aHostname, aFormSubmitURL, aRealm, "username", "password", "uname", "pword");
}