/* 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(); });