fune/browser/components/preferences/in-content/tests/browser_masterpassword.js
Mark Banner 691543ee89 Bug 1486739 - Add missing dangling commas in browser/, services/, taskcluster/ and toolkit/. r=mossop
Automatic changes by ESLint, except for manual corrections for .xml files.

Differential Revision: https://phabricator.services.mozilla.com/D4439

--HG--
extra : moz-landing-system : lando
2018-08-31 05:59:17 +00:00

54 lines
2 KiB
JavaScript

add_task(async function() {
let prefs = await openPreferencesViaOpenPreferencesAPI("panePrivacy", {leaveOpen: true});
is(prefs.selectedPane, "panePrivacy", "Privacy pane was selected");
let doc = gBrowser.contentDocument;
// Fake the subdialog and LoginHelper
let win = doc.defaultView;
let dialogURL = "";
win.gSubDialog = {
open(aDialogURL, unused, unused2, aCallback) {
dialogURL = aDialogURL;
masterPasswordSet = masterPasswordNextState;
aCallback();
},
};
let masterPasswordSet = false;
win.LoginHelper = {
isMasterPasswordSet() {
return masterPasswordSet;
},
};
let checkbox = doc.querySelector("#useMasterPassword");
ok(!checkbox.checked, "master password checkbox should be unchecked by default");
let button = doc.getElementById("changeMasterPassword");
ok(button.disabled, "master password button should be disabled by default");
let masterPasswordNextState = true;
checkbox.click();
is(dialogURL,
"chrome://mozapps/content/preferences/changemp.xul",
"clicking on the checkbox should open the masterpassword dialog");
ok(!button.disabled, "master password button should now be enabled");
ok(checkbox.checked, "master password checkbox should be checked now");
dialogURL = "";
button.doCommand();
is(dialogURL,
"chrome://mozapps/content/preferences/changemp.xul",
"clicking on the button should open the masterpassword dialog");
ok(!button.disabled, "master password button should still be enabled");
ok(checkbox.checked, "master password checkbox should be checked still");
masterPasswordNextState = false;
dialogURL = "";
checkbox.click();
is(dialogURL,
"chrome://mozapps/content/preferences/removemp.xul",
"clicking on the checkbox to uncheck master password should show the removal dialog");
ok(button.disabled, "master password button should now be disabled");
ok(!checkbox.checked, "master password checkbox should now be unchecked");
BrowserTestUtils.removeTab(gBrowser.selectedTab);
});