/* Any copyright is dedicated to the Public Domain. * http://creativecommons.org/publicdomain/zero/1.0/ */ "use strict"; /** * Check that after a reset, we can still drag special nodes in customize mode */ add_task(async function () { await startCustomizing(); CustomizableUI.addWidgetToArea("spring", "nav-bar", 5); await gCustomizeMode.reset(); let springs = document.querySelectorAll("#nav-bar toolbarspring"); let lastSpring = springs[springs.length - 1]; let expectedPlacements = CustomizableUI.getWidgetIdsInArea("nav-bar"); info("Placements before drag: " + expectedPlacements.join(",")); let lastItem = document.getElementById( expectedPlacements[expectedPlacements.length - 1] ); await waitForElementShown(lastItem); simulateItemDrag(lastSpring, lastItem, "end"); expectedPlacements.splice(expectedPlacements.indexOf(lastSpring.id), 1); expectedPlacements.push(lastSpring.id); let actualPlacements = CustomizableUI.getWidgetIdsInArea("nav-bar"); // Log these separately because Assert.deepEqual truncates the stringified versions... info("Actual placements: " + actualPlacements.join(",")); info("Expected placements: " + expectedPlacements.join(",")); Assert.deepEqual( expectedPlacements, actualPlacements, "Should be able to move spring" ); await gCustomizeMode.reset(); await endCustomizing(); });