forked from mirrors/gecko-dev
		
	
		
			
				
	
	
		
			46 lines
		
	
	
	
		
			1.3 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			46 lines
		
	
	
	
		
			1.3 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
"use strict";
 | 
						|
 | 
						|
var gTestTab;
 | 
						|
var gContentAPI;
 | 
						|
 | 
						|
add_task(setup_UITourTest);
 | 
						|
 | 
						|
// Test that a reset profile dialog appears when "resetFirefox" event is triggered
 | 
						|
add_UITour_task(async function test_resetFirefox() {
 | 
						|
  let canReset = await getConfigurationPromise("canReset");
 | 
						|
  ok(
 | 
						|
    !canReset,
 | 
						|
    "Shouldn't be able to reset from mochitest's temporary profile."
 | 
						|
  );
 | 
						|
  let dialogPromise = BrowserTestUtils.promiseAlertDialog(
 | 
						|
    "cancel",
 | 
						|
    "chrome://global/content/resetProfile.xhtml",
 | 
						|
    {
 | 
						|
      isSubDialog: true,
 | 
						|
    }
 | 
						|
  );
 | 
						|
 | 
						|
  // make reset possible.
 | 
						|
  let profileService = Cc["@mozilla.org/toolkit/profile-service;1"].getService(
 | 
						|
    Ci.nsIToolkitProfileService
 | 
						|
  );
 | 
						|
  let currentProfileDir = Services.dirsvc.get("ProfD", Ci.nsIFile);
 | 
						|
  let profileName = "mochitest-test-profile-temp-" + Date.now();
 | 
						|
  let tempProfile = profileService.createProfile(
 | 
						|
    currentProfileDir,
 | 
						|
    profileName
 | 
						|
  );
 | 
						|
  canReset = await getConfigurationPromise("canReset");
 | 
						|
  ok(
 | 
						|
    canReset,
 | 
						|
    "Should be able to reset from mochitest's temporary profile once it's in the profile manager."
 | 
						|
  );
 | 
						|
  await gContentAPI.resetFirefox();
 | 
						|
  await dialogPromise;
 | 
						|
  tempProfile.remove(false);
 | 
						|
  canReset = await getConfigurationPromise("canReset");
 | 
						|
  ok(
 | 
						|
    !canReset,
 | 
						|
    "Shouldn't be able to reset from mochitest's temporary profile once removed from the profile manager."
 | 
						|
  );
 | 
						|
});
 |