forked from mirrors/gecko-dev
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
54 lines
2 KiB
JavaScript
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);
|
|
});
|