diff options
author | wolfbeast <mcwerewolf@wolfbeast.com> | 2020-04-14 21:49:04 +0200 |
---|---|---|
committer | wolfbeast <mcwerewolf@wolfbeast.com> | 2020-04-14 21:49:04 +0200 |
commit | 39dac57259cff8b61db0b22cb2ad0a8adb02692e (patch) | |
tree | 52a026cc8c22793eb17fd0f5e22adce1ae08a1dd /toolkit/components/passwordmgr/test/browser/browser_passwordmgrdlg.js | |
parent | a1cce3b2b00bbd9f4983013ddd8934a7bccb9e99 (diff) | |
parent | c2d9ab62f3d097c9e0e00184cab1f546554f5eaa (diff) | |
download | UXP-39dac57259cff8b61db0b22cb2ad0a8adb02692e.tar UXP-39dac57259cff8b61db0b22cb2ad0a8adb02692e.tar.gz UXP-39dac57259cff8b61db0b22cb2ad0a8adb02692e.tar.lz UXP-39dac57259cff8b61db0b22cb2ad0a8adb02692e.tar.xz UXP-39dac57259cff8b61db0b22cb2ad0a8adb02692e.zip |
Merge branch 'redwood' into 28.9-platform
Diffstat (limited to 'toolkit/components/passwordmgr/test/browser/browser_passwordmgrdlg.js')
-rw-r--r-- | toolkit/components/passwordmgr/test/browser/browser_passwordmgrdlg.js | 192 |
1 files changed, 0 insertions, 192 deletions
diff --git a/toolkit/components/passwordmgr/test/browser/browser_passwordmgrdlg.js b/toolkit/components/passwordmgr/test/browser/browser_passwordmgrdlg.js deleted file mode 100644 index 57cfa9f83..000000000 --- a/toolkit/components/passwordmgr/test/browser/browser_passwordmgrdlg.js +++ /dev/null @@ -1,192 +0,0 @@ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - -function test() { - waitForExplicitFinish(); - - let pwmgr = Cc["@mozilla.org/login-manager;1"]. - getService(Ci.nsILoginManager); - pwmgr.removeAllLogins(); - - // Add some initial logins - let urls = [ - "http://example.com/", - "http://example.org/", - "http://mozilla.com/", - "http://mozilla.org/", - "http://spreadfirefox.com/", - "http://planet.mozilla.org/", - "https://developer.mozilla.org/", - "http://hg.mozilla.org/", - "http://dxr.mozilla.org/", - "http://feeds.mozilla.org/", - ]; - let nsLoginInfo = new Components.Constructor("@mozilla.org/login-manager/loginInfo;1", - Ci.nsILoginInfo, "init"); - let logins = [ - new nsLoginInfo(urls[0], urls[0], null, "user", "password", "u1", "p1"), - new nsLoginInfo(urls[1], urls[1], null, "username", "password", "u2", "p2"), - new nsLoginInfo(urls[2], urls[2], null, "ehsan", "mypass", "u3", "p3"), - new nsLoginInfo(urls[3], urls[3], null, "ehsan", "mypass", "u4", "p4"), - new nsLoginInfo(urls[4], urls[4], null, "john", "smith", "u5", "p5"), - new nsLoginInfo(urls[5], urls[5], null, "what?", "very secret", "u6", "p6"), - new nsLoginInfo(urls[6], urls[6], null, "really?", "super secret", "u7", "p7"), - new nsLoginInfo(urls[7], urls[7], null, "you sure?", "absolutely", "u8", "p8"), - new nsLoginInfo(urls[8], urls[8], null, "my user name", "mozilla", "u9", "p9"), - new nsLoginInfo(urls[9], urls[9], null, "my username", "mozilla.com", "u10", "p10"), - ]; - logins.forEach(login => pwmgr.addLogin(login)); - - // Open the password manager dialog - const PWMGR_DLG = "chrome://passwordmgr/content/passwordManager.xul"; - let pwmgrdlg = window.openDialog(PWMGR_DLG, "Toolkit:PasswordManager", ""); - SimpleTest.waitForFocus(doTest, pwmgrdlg); - - // the meat of the test - function doTest() { - let doc = pwmgrdlg.document; - let win = doc.defaultView; - let filter = doc.getElementById("filter"); - let tree = doc.getElementById("signonsTree"); - let view = tree.view; - - is(filter.value, "", "Filter box should initially be empty"); - is(view.rowCount, 10, "There should be 10 passwords initially"); - - // Prepare a set of tests - // filter: the text entered in the filter search box - // count: the number of logins which should match the respective filter - // count2: the number of logins which should match the respective filter - // if the passwords are being shown as well - // Note: if a test doesn't have count2 set, count is used instead. - let tests = [ - {filter: "pass", count: 0, count2: 4}, - {filter: "", count: 10}, // test clearing the filter - {filter: "moz", count: 7}, - {filter: "mozi", count: 7}, - {filter: "mozil", count: 7}, - {filter: "mozill", count: 7}, - {filter: "mozilla", count: 7}, - {filter: "mozilla.com", count: 1, count2: 2}, - {filter: "user", count: 4}, - {filter: "user ", count: 1}, - {filter: " user", count: 2}, - {filter: "http", count: 10}, - {filter: "https", count: 1}, - {filter: "secret", count: 0, count2: 2}, - {filter: "secret!", count: 0}, - ]; - - let toggleCalls = 0; - function toggleShowPasswords(func) { - let toggleButton = doc.getElementById("togglePasswords"); - let showMode = (toggleCalls++ % 2) == 0; - - // only watch for a confirmation dialog every other time being called - if (showMode) { - Services.ww.registerNotification(function (aSubject, aTopic, aData) { - if (aTopic == "domwindowclosed") - Services.ww.unregisterNotification(arguments.callee); - else if (aTopic == "domwindowopened") { - let targetWin = aSubject.QueryInterface(Ci.nsIDOMEventTarget); - SimpleTest.waitForFocus(function() { - EventUtils.sendKey("RETURN", targetWin); - }, targetWin); - } - }); - } - - Services.obs.addObserver(function (aSubject, aTopic, aData) { - if (aTopic == "passwordmgr-password-toggle-complete") { - Services.obs.removeObserver(arguments.callee, aTopic); - func(); - } - }, "passwordmgr-password-toggle-complete", false); - - EventUtils.synthesizeMouse(toggleButton, 1, 1, {}, win); - } - - function runTests(mode, endFunction) { - let testCounter = 0; - - function setFilter(string) { - filter.value = string; - filter.doCommand(); - } - - function runOneTest(testCase) { - function tester() { - is(view.rowCount, expected, expected + " logins should match '" + testCase.filter + "'"); - } - - let expected; - switch (mode) { - case 1: // without showing passwords - expected = testCase.count; - break; - case 2: // showing passwords - expected = ("count2" in testCase) ? testCase.count2 : testCase.count; - break; - case 3: // toggle - expected = testCase.count; - tester(); - toggleShowPasswords(function () { - expected = ("count2" in testCase) ? testCase.count2 : testCase.count; - tester(); - toggleShowPasswords(proceed); - }); - return; - } - tester(); - proceed(); - } - - function proceed() { - // run the next test if necessary or proceed with the tests - if (testCounter != tests.length) - runNextTest(); - else - endFunction(); - } - - function runNextTest() { - let testCase = tests[testCounter++]; - setFilter(testCase.filter); - setTimeout(runOneTest, 0, testCase); - } - - runNextTest(); - } - - function step1() { - runTests(1, step2); - } - - function step2() { - toggleShowPasswords(function() { - runTests(2, step3); - }); - } - - function step3() { - toggleShowPasswords(function() { - runTests(3, lastStep); - }); - } - - function lastStep() { - // cleanup - Services.ww.registerNotification(function (aSubject, aTopic, aData) { - // unregister ourself - Services.ww.unregisterNotification(arguments.callee); - - pwmgr.removeAllLogins(); - finish(); - }); - pwmgrdlg.close(); - } - - step1(); - } -} |