forked from mirrors/gecko-dev
		
	
		
			
				
	
	
		
			42 lines
		
	
	
	
		
			1.4 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			42 lines
		
	
	
	
		
			1.4 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| "use strict";
 | |
| 
 | |
| /**
 | |
|  * Test dragging a removable=false widget within its own area as well as to the palette.
 | |
|  */
 | |
| add_task(async function () {
 | |
|   await startCustomizing();
 | |
|   let forwardButton = document.getElementById("forward-button");
 | |
|   is(
 | |
|     forwardButton.getAttribute("removable"),
 | |
|     "false",
 | |
|     "forward-button should not be removable"
 | |
|   );
 | |
|   ok(CustomizableUI.inDefaultState, "Should start in default state.");
 | |
| 
 | |
|   let urlbarContainer = document.getElementById("urlbar-container");
 | |
|   let placementsAfterDrag = getAreaWidgetIds(CustomizableUI.AREA_NAVBAR);
 | |
|   placementsAfterDrag.splice(placementsAfterDrag.indexOf("forward-button"), 1);
 | |
|   placementsAfterDrag.splice(
 | |
|     placementsAfterDrag.indexOf("urlbar-container"),
 | |
|     0,
 | |
|     "forward-button"
 | |
|   );
 | |
| 
 | |
|   // Force layout flush to ensure the drag completes as expected
 | |
|   urlbarContainer.clientWidth;
 | |
| 
 | |
|   simulateItemDrag(forwardButton, urlbarContainer, "start");
 | |
|   assertAreaPlacements(CustomizableUI.AREA_NAVBAR, placementsAfterDrag);
 | |
|   ok(!CustomizableUI.inDefaultState, "Should no longer be in default state.");
 | |
|   let palette = document.getElementById("customization-palette");
 | |
|   simulateItemDrag(forwardButton, palette);
 | |
|   is(
 | |
|     CustomizableUI.getPlacementOfWidget("forward-button").area,
 | |
|     CustomizableUI.AREA_NAVBAR,
 | |
|     "forward-button was not able to move to palette"
 | |
|   );
 | |
| 
 | |
|   await endCustomizing();
 | |
|   await resetCustomization();
 | |
|   ok(CustomizableUI.inDefaultState, "Should be in default state again.");
 | |
| });
 | 
