forked from mirrors/gecko-dev
		
	 691543ee89
			
		
	
	
		691543ee89
		
	
	
	
	
		
			
			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);
 | |
| });
 |