summaryrefslogtreecommitdiffstats
path: root/browser/components/customizableui/test/browser_allow_dragging_removable_false.js
blob: 76269f44ae5a21d18cb288ea42dda396aaa220f5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
"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.");
});