/* 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 = document.getElementById("nav-bar").currentSet.split(",");
  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, the currentset property 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();
});
