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.");
|
|
});
|