summaryrefslogtreecommitdiffstats
path: root/toolkit/components/passwordmgr/test/browser/browser_passwordmgr_editing.js
diff options
context:
space:
mode:
Diffstat (limited to 'toolkit/components/passwordmgr/test/browser/browser_passwordmgr_editing.js')
-rw-r--r--toolkit/components/passwordmgr/test/browser/browser_passwordmgr_editing.js126
1 files changed, 0 insertions, 126 deletions
diff --git a/toolkit/components/passwordmgr/test/browser/browser_passwordmgr_editing.js b/toolkit/components/passwordmgr/test/browser/browser_passwordmgr_editing.js
deleted file mode 100644
index 2b2e42273..000000000
--- a/toolkit/components/passwordmgr/test/browser/browser_passwordmgr_editing.js
+++ /dev/null
@@ -1,126 +0,0 @@
-const { ContentTaskUtils } = Cu.import("resource://testing-common/ContentTaskUtils.jsm", {});
-const PWMGR_DLG = "chrome://passwordmgr/content/passwordManager.xul";
-
-var doc;
-var pwmgr;
-var pwmgrdlg;
-var signonsTree;
-
-function addLogin(site, username, password) {
- let nsLoginInfo = new Components.Constructor("@mozilla.org/login-manager/loginInfo;1",
- Ci.nsILoginInfo, "init");
- let login = new nsLoginInfo(site, site, null, username, password, "u", "p");
- Services.logins.addLogin(login);
-}
-
-function getUsername(row) {
- return signonsTree.view.getCellText(row, signonsTree.columns.getNamedColumn("userCol"));
-}
-
-function getPassword(row) {
- return signonsTree.view.getCellText(row, signonsTree.columns.getNamedColumn("passwordCol"));
-}
-
-function synthesizeDblClickOnCell(aTree, column, row) {
- let tbo = aTree.treeBoxObject;
- let rect = tbo.getCoordsForCellItem(row, aTree.columns[column], "text");
- let x = rect.x + rect.width / 2;
- let y = rect.y + rect.height / 2;
- // Simulate the double click.
- EventUtils.synthesizeMouse(aTree.body, x, y, { clickCount: 2 },
- aTree.ownerDocument.defaultView);
-}
-
-function* togglePasswords() {
- pwmgrdlg.document.querySelector("#togglePasswords").doCommand();
- yield new Promise(resolve => waitForFocus(resolve, pwmgrdlg));
-}
-
-function* editUsernamePromises(site, oldUsername, newUsername) {
- is(Services.logins.findLogins({}, site, "", "").length, 1, "Correct login found");
- let login = Services.logins.findLogins({}, site, "", "")[0];
- is(login.username, oldUsername, "Correct username saved");
- is(getUsername(0), oldUsername, "Correct username shown");
- synthesizeDblClickOnCell(signonsTree, 1, 0);
- yield ContentTaskUtils.waitForCondition(() => signonsTree.getAttribute("editing"),
- "Waiting for editing");
-
- EventUtils.sendString(newUsername, pwmgrdlg);
- let signonsIntro = doc.querySelector("#signonsIntro");
- EventUtils.sendMouseEvent({type: "click"}, signonsIntro, pwmgrdlg);
- yield ContentTaskUtils.waitForCondition(() => !signonsTree.getAttribute("editing"),
- "Waiting for editing to stop");
-
- is(Services.logins.findLogins({}, site, "", "").length, 1, "Correct login replaced");
- login = Services.logins.findLogins({}, site, "", "")[0];
- is(login.username, newUsername, "Correct username updated");
- is(getUsername(0), newUsername, "Correct username shown after the update");
-}
-
-function* editPasswordPromises(site, oldPassword, newPassword) {
- is(Services.logins.findLogins({}, site, "", "").length, 1, "Correct login found");
- let login = Services.logins.findLogins({}, site, "", "")[0];
- is(login.password, oldPassword, "Correct password saved");
- is(getPassword(0), oldPassword, "Correct password shown");
-
- synthesizeDblClickOnCell(signonsTree, 2, 0);
- yield ContentTaskUtils.waitForCondition(() => signonsTree.getAttribute("editing"),
- "Waiting for editing");
-
- EventUtils.sendString(newPassword, pwmgrdlg);
- let signonsIntro = doc.querySelector("#signonsIntro");
- EventUtils.sendMouseEvent({type: "click"}, signonsIntro, pwmgrdlg);
- yield ContentTaskUtils.waitForCondition(() => !signonsTree.getAttribute("editing"),
- "Waiting for editing to stop");
-
- is(Services.logins.findLogins({}, site, "", "").length, 1, "Correct login replaced");
- login = Services.logins.findLogins({}, site, "", "")[0];
- is(login.password, newPassword, "Correct password updated");
- is(getPassword(0), newPassword, "Correct password shown after the update");
-}
-
-add_task(function* test_setup() {
- registerCleanupFunction(function() {
- Services.logins.removeAllLogins();
- });
-
- Services.logins.removeAllLogins();
- // Open the password manager dialog.
- pwmgrdlg = window.openDialog(PWMGR_DLG, "Toolkit:PasswordManager", "");
-
- Services.ww.registerNotification(function (aSubject, aTopic, aData) {
- if (aTopic == "domwindowopened") {
- let win = aSubject.QueryInterface(Ci.nsIDOMEventTarget);
- SimpleTest.waitForFocus(function() {
- EventUtils.sendKey("RETURN", win);
- }, win);
- } else if (aSubject.location == pwmgrdlg.location && aTopic == "domwindowclosed") {
- // Unregister ourself.
- Services.ww.unregisterNotification(arguments.callee);
- }
- });
-
- yield new Promise((resolve) => {
- SimpleTest.waitForFocus(() => {
- doc = pwmgrdlg.document;
- signonsTree = doc.querySelector("#signonsTree");
- resolve();
- }, pwmgrdlg);
- });
-});
-
-add_task(function* test_edit_multiple_logins() {
- function* testLoginChange(site, oldUsername, oldPassword, newUsername, newPassword) {
- addLogin(site, oldUsername, oldPassword);
- yield* editUsernamePromises(site, oldUsername, newUsername);
- yield* togglePasswords();
- yield* editPasswordPromises(site, oldPassword, newPassword);
- yield* togglePasswords();
- }
-
- yield* testLoginChange("http://c.tn/", "userC", "passC", "usernameC", "passwordC");
- yield* testLoginChange("http://b.tn/", "userB", "passB", "usernameB", "passwordB");
- yield* testLoginChange("http://a.tn/", "userA", "passA", "usernameA", "passwordA");
-
- pwmgrdlg.close();
-});