/* Any copyright is dedicated to the Public Domain. * http://creativecommons.org/publicdomain/zero/1.0/ */ "use strict"; function checkSpacers() { let bsPass = ChromeUtils.import("resource:///modules/CustomizableUI.jsm", null); let navbarWidgets = CustomizableUI.getWidgetIdsInArea("nav-bar"); let currentSetWidgets = bsPass.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(); });