forked from mirrors/gecko-dev
		
	
		
			
				
	
	
		
			64 lines
		
	
	
	
		
			1.9 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			64 lines
		
	
	
	
		
			1.9 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| function test() {
 | |
| 
 | |
|   // ----------
 | |
|   // Test setup
 | |
| 
 | |
|   waitForExplicitFinish();
 | |
| 
 | |
|   let oldOLC = FullZoom.onLocationChange;
 | |
|   FullZoom.onLocationChange = function(aURI, aIsTabSwitch, aBrowser) {
 | |
|     // Ignore calls that are not about tab switching on this test
 | |
|     if (aIsTabSwitch)
 | |
|       oldOLC.call(FullZoom, aURI, aIsTabSwitch, aBrowser);
 | |
|   };
 | |
| 
 | |
|   gPrefService.setBoolPref("browser.zoom.updateBackgroundTabs", true);
 | |
|   gPrefService.setBoolPref("browser.zoom.siteSpecific", true);
 | |
| 
 | |
|   let oldAPTS = FullZoom._applyPrefToSetting;
 | |
|   let uri = "http://example.org/browser/browser/base/content/test/dummy_page.html";
 | |
| 
 | |
|   // ------------------------------------------------------
 | |
|   // Test 1 - Zoom should not be called if URIs don't match
 | |
|   FullZoom._applyPrefToSetting = function() {
 | |
|     ok(false, "This should not be called");
 | |
|   };
 | |
|   FullZoom.onLocationChange(makeURI(uri), true);
 | |
| 
 | |
|   let tab = gBrowser.addTab();
 | |
|   tab.linkedBrowser.addEventListener("load", function(event) {
 | |
|     tab.linkedBrowser.removeEventListener("load", arguments.callee, true);
 | |
| 
 | |
|     // -------------------------------------------------------------------
 | |
|     // Test 2 - Trigger a tab switch that should now update the zoom level
 | |
|     FullZoom._applyPrefToSetting = function() {
 | |
|       ok(true, "applyPrefToSetting was called");
 | |
|       endTest();
 | |
|     }
 | |
|     gBrowser.selectedTab = tab;
 | |
| 
 | |
|   }, true); 
 | |
|   tab.linkedBrowser.loadURI(uri);
 | |
| 
 | |
|   // -------------
 | |
|   // Test clean-up
 | |
|   function endTest() {
 | |
|     gBrowser.removeTab(tab);
 | |
|     FullZoom._applyPrefToSetting = oldAPTS;
 | |
|     FullZoom.onLocationChange = oldOLC;
 | |
| 
 | |
|     oldAPTS = null;
 | |
|     oldOLC = null;
 | |
|     tab = null;
 | |
| 
 | |
|     if (gPrefService.prefHasUserValue("browser.zoom.updateBackgroundTabs"))
 | |
|       gPrefService.clearUserPref("browser.zoom.updateBackgroundTabs");
 | |
| 
 | |
|     if (gPrefService.prefHasUserValue("browser.zoom.siteSpecific"))
 | |
|       gPrefService.clearUserPref("browser.zoom.siteSpecific");
 | |
| 
 | |
|     finish();
 | |
|   }
 | |
| 
 | |
| }
 | |
| 
 | 
