browser_allow_dragging_removable_false.js (1475B)
1 "use strict"; 2 3 /** 4 * Test dragging a removable=false widget within its own area as well as to the palette. 5 */ 6 add_task(async function () { 7 await startCustomizing(); 8 let forwardButton = document.getElementById("forward-button"); 9 is( 10 forwardButton.getAttribute("removable"), 11 "false", 12 "forward-button should not be removable" 13 ); 14 ok(CustomizableUI.inDefaultState, "Should start in default state."); 15 16 let urlbarContainer = document.getElementById("urlbar-container"); 17 let placementsAfterDrag = getAreaWidgetIds(CustomizableUI.AREA_NAVBAR); 18 placementsAfterDrag.splice(placementsAfterDrag.indexOf("forward-button"), 1); 19 placementsAfterDrag.splice( 20 placementsAfterDrag.indexOf("urlbar-container"), 21 0, 22 "forward-button" 23 ); 24 25 // Force layout flush to ensure the drag completes as expected 26 urlbarContainer.clientWidth; 27 28 simulateItemDrag(forwardButton, urlbarContainer, "start"); 29 assertAreaPlacements(CustomizableUI.AREA_NAVBAR, placementsAfterDrag); 30 ok(!CustomizableUI.inDefaultState, "Should no longer be in default state."); 31 let palette = document.getElementById("customization-palette"); 32 simulateItemDrag(forwardButton, palette); 33 is( 34 CustomizableUI.getPlacementOfWidget("forward-button").area, 35 CustomizableUI.AREA_NAVBAR, 36 "forward-button was not able to move to palette" 37 ); 38 39 await endCustomizing(); 40 await resetCustomization(); 41 ok(CustomizableUI.inDefaultState, "Should be in default state again."); 42 });