forked from mirrors/gecko-dev
		
	
		
			
				
	
	
		
			45 lines
		
	
	
	
		
			1.3 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			45 lines
		
	
	
	
		
			1.3 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| /* This Source Code Form is subject to the terms of the Mozilla Public
 | |
|  * License, v. 2.0. If a copy of the MPL was not distributed with this
 | |
|  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 | |
| 
 | |
| "use strict";
 | |
| 
 | |
| const kWidgetId = "test-non-removable-widget";
 | |
| 
 | |
| // Adding non-removable items to a toolbar or the panel shouldn't change inDefaultState
 | |
| add_task(async function () {
 | |
|   ok(CustomizableUI.inDefaultState, "Should start in default state");
 | |
| 
 | |
|   let button = createDummyXULButton(
 | |
|     kWidgetId,
 | |
|     "Test non-removable inDefaultState handling"
 | |
|   );
 | |
|   CustomizableUI.addWidgetToArea(kWidgetId, CustomizableUI.AREA_NAVBAR);
 | |
|   button.setAttribute("removable", "false");
 | |
|   ok(
 | |
|     CustomizableUI.inDefaultState,
 | |
|     "Should still be in default state after navbar addition"
 | |
|   );
 | |
|   button.remove();
 | |
| 
 | |
|   button = createDummyXULButton(
 | |
|     kWidgetId,
 | |
|     "Test non-removable inDefaultState handling"
 | |
|   );
 | |
|   CustomizableUI.addWidgetToArea(
 | |
|     kWidgetId,
 | |
|     CustomizableUI.AREA_FIXED_OVERFLOW_PANEL
 | |
|   );
 | |
|   button.setAttribute("removable", "false");
 | |
|   ok(
 | |
|     CustomizableUI.inDefaultState,
 | |
|     "Should still be in default state after panel addition"
 | |
|   );
 | |
|   button.remove();
 | |
|   ok(
 | |
|     CustomizableUI.inDefaultState,
 | |
|     "Should be in default state after destroying both widgets"
 | |
|   );
 | |
|   // reset now that button is gone.
 | |
|   CustomizableUI.reset();
 | |
| });
 | 
