forked from mirrors/gecko-dev
		
	 5bdc727943
			
		
	
	
		5bdc727943
		
	
	
	
	
		
			
			Also changes the tooltip on the home button to be independent of the URLs it opens, per dolske. Some tests explicitly set browser.startup.homepage, but only through SpecialPowers.putPrefEnv. That's a good compromise, given the extra functionality there. MozReview-Commit-ID: FPLxzi3jQAP --HG-- extra : rebase_source : c2b014f2fb1c78ce04859344bd1803ef48d5d68d
		
			
				
	
	
		
			43 lines
		
	
	
	
		
			1.9 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			43 lines
		
	
	
	
		
			1.9 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| /* Any copyright is dedicated to the Public Domain.
 | |
|  * http://creativecommons.org/publicdomain/zero/1.0/
 | |
|  */
 | |
| 
 | |
| /* globals ChromeUtils, Services, Cc, Ci, HomePage, Assert, add_task */
 | |
| "use strict";
 | |
| 
 | |
| ChromeUtils.import("resource:///modules/HomePage.jsm");
 | |
| ChromeUtils.import("resource://gre/modules/Services.jsm");
 | |
| 
 | |
| add_task(function testHomePage() {
 | |
|   Assert.ok(!HomePage.overridden, "Homepage should not be overriden by default.");
 | |
|   let newvalue = "about:blank|about:newtab";
 | |
|   HomePage.set(newvalue);
 | |
|   Assert.ok(HomePage.overridden, "Homepage should be overriden after set()");
 | |
|   Assert.equal(HomePage.get(), newvalue, "Homepage should be ${newvalue}");
 | |
|   Assert.notEqual(HomePage.getDefault(), newvalue, "Homepage should be ${newvalue}");
 | |
|   HomePage.reset();
 | |
|   Assert.ok(!HomePage.overridden, "Homepage should not be overriden by after reset.");
 | |
|   Assert.equal(HomePage.get(), HomePage.getDefault(),
 | |
|                "Homepage and default should be equal after reset.");
 | |
| });
 | |
| 
 | |
| add_task(function readLocalizedHomepage() {
 | |
|   let newvalue = "data:text/plain,browser.startup.homepage%3Dabout%3Alocalized";
 | |
|   let complexvalue = Cc["@mozilla.org/pref-localizedstring;1"]
 | |
|                    .createInstance(Ci.nsIPrefLocalizedString);
 | |
|   complexvalue.data = newvalue;
 | |
|   Services.prefs.getDefaultBranch(null).setComplexValue(
 | |
|     "browser.startup.homepage",
 | |
|     Ci.nsIPrefLocalizedString,
 | |
|     complexvalue);
 | |
|     Assert.ok(!HomePage.overridden, "Complex value only works as default");
 | |
|     Assert.equal(HomePage.get(), "about:localized", "Get value from bundle");
 | |
| });
 | |
| 
 | |
| add_task(function recoverEmptyHomepage() {
 | |
|   Assert.ok(!HomePage.overridden, "Homepage should not be overriden by default.");
 | |
|   Services.prefs.setStringPref("browser.startup.homepage", "");
 | |
|   Assert.ok(HomePage.overridden, "Homepage is overriden with empty string.");
 | |
|   Assert.equal(HomePage.get(), HomePage.getDefault(), "Recover is default");
 | |
|   Assert.ok(!HomePage.overridden, "Recover should have set default");
 | |
| });
 |