summaryrefslogtreecommitdiffstats
path: root/browser/components/customizableui/test/browser_currentset_post_reset.js
blob: 7fe073351cdd7e0059ec45e6c7e1eb08a1a8ed3e (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
/* Any copyright is dedicated to the Public Domain.
 * http://creativecommons.org/publicdomain/zero/1.0/ */

"use strict";

function checkSpacers() {
  let navbarWidgets = CustomizableUI.getWidgetIdsInArea("nav-bar");
  let currentSetWidgets = CustomizableUI.getTestOnlyInternalProp(
    "CustomizableUIInternal"
  )._getCurrentWidgetsInContainer(document.getElementById("nav-bar"));
  navbarWidgets = navbarWidgets.filter(w => CustomizableUI.isSpecialWidget(w));
  currentSetWidgets = currentSetWidgets.filter(w =>
    CustomizableUI.isSpecialWidget(w)
  );
  Assert.deepEqual(
    navbarWidgets,
    currentSetWidgets,
    "Should have the same 'special' widgets in currentset and placements"
  );
}

/**
 * Check that after a reset, CUI's internal bookkeeping correctly deals with flexible spacers.
 */
add_task(async function() {
  await startCustomizing();
  checkSpacers();

  CustomizableUI.addWidgetToArea(
    "spring",
    "nav-bar",
    4 /* Insert before the last extant spacer */
  );
  await gCustomizeMode.reset();
  checkSpacers();
  await endCustomizing();
});