diff options
Diffstat (limited to 'browser/components/customizableui/test/browser_942581_unregisterArea_keeps_placements.js')
-rw-r--r-- | browser/components/customizableui/test/browser_942581_unregisterArea_keeps_placements.js | 106 |
1 files changed, 0 insertions, 106 deletions
diff --git a/browser/components/customizableui/test/browser_942581_unregisterArea_keeps_placements.js b/browser/components/customizableui/test/browser_942581_unregisterArea_keeps_placements.js deleted file mode 100644 index 61adac982..000000000 --- a/browser/components/customizableui/test/browser_942581_unregisterArea_keeps_placements.js +++ /dev/null @@ -1,106 +0,0 @@ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - -"use strict"; - -const kToolbarName = "test-unregisterArea-placements-toolbar"; -const kTestWidgetPfx = "test-widget-for-unregisterArea-placements-"; -const kTestWidgetCount = 3; -registerCleanupFunction(removeCustomToolbars); - -// unregisterArea should keep placements by default and restore them when re-adding the area -add_task(function*() { - let widgetIds = []; - for (let i = 0; i < kTestWidgetCount; i++) { - let id = kTestWidgetPfx + i; - widgetIds.push(id); - let spec = {id: id, type: 'button', removable: true, label: "unregisterArea test", tooltiptext: "" + i}; - CustomizableUI.createWidget(spec); - } - for (let i = kTestWidgetCount; i < kTestWidgetCount * 2; i++) { - let id = kTestWidgetPfx + i; - widgetIds.push(id); - createDummyXULButton(id, "unregisterArea XUL test " + i); - } - let toolbarNode = createToolbarWithPlacements(kToolbarName, widgetIds); - checkAbstractAndRealPlacements(toolbarNode, widgetIds); - - // Now move one of them: - CustomizableUI.moveWidgetWithinArea(kTestWidgetPfx + kTestWidgetCount, 0); - // Clone the array so we know this is the modified one: - let modifiedWidgetIds = [...widgetIds]; - let movedWidget = modifiedWidgetIds.splice(kTestWidgetCount, 1)[0]; - modifiedWidgetIds.unshift(movedWidget); - - // Check it: - checkAbstractAndRealPlacements(toolbarNode, modifiedWidgetIds); - - // Then unregister - CustomizableUI.unregisterArea(kToolbarName); - - // Check we tell the outside world no dangerous things: - checkWidgetFates(widgetIds); - // Only then remove the real node - toolbarNode.remove(); - - // Now move one of the items to the palette, and another to the navbar: - let lastWidget = modifiedWidgetIds.pop(); - CustomizableUI.removeWidgetFromArea(lastWidget); - lastWidget = modifiedWidgetIds.pop(); - CustomizableUI.addWidgetToArea(lastWidget, CustomizableUI.AREA_NAVBAR); - - // Recreate ourselves with the default placements being the same: - toolbarNode = createToolbarWithPlacements(kToolbarName, widgetIds); - // Then check that after doing this, our actual placements match - // the modified list, not the default one. - checkAbstractAndRealPlacements(toolbarNode, modifiedWidgetIds); - - // Now remove completely: - CustomizableUI.unregisterArea(kToolbarName, true); - checkWidgetFates(modifiedWidgetIds); - toolbarNode.remove(); - - // One more time: - // Recreate ourselves with the default placements being the same: - toolbarNode = createToolbarWithPlacements(kToolbarName, widgetIds); - // Should now be back to default: - checkAbstractAndRealPlacements(toolbarNode, widgetIds); - CustomizableUI.unregisterArea(kToolbarName, true); - checkWidgetFates(widgetIds); - toolbarNode.remove(); - - // XXXgijs: ensure cleanup function doesn't barf: - gAddedToolbars.delete(kToolbarName); - - // Remove all the XUL widgets, destroy the others: - for (let widget of widgetIds) { - let widgetWrapper = CustomizableUI.getWidget(widget); - if (widgetWrapper.provider == CustomizableUI.PROVIDER_XUL) { - gNavToolbox.palette.querySelector("#" + widget).remove(); - } else { - CustomizableUI.destroyWidget(widget); - } - } -}); - -function checkAbstractAndRealPlacements(aNode, aExpectedPlacements) { - assertAreaPlacements(kToolbarName, aExpectedPlacements); - let physicalWidgetIds = Array.from(aNode.childNodes, (node) => node.id); - placementArraysEqual(aNode.id, physicalWidgetIds, aExpectedPlacements); -} - -function checkWidgetFates(aWidgetIds) { - for (let widget of aWidgetIds) { - ok(!CustomizableUI.getPlacementOfWidget(widget), "Widget should be in palette"); - ok(!document.getElementById(widget), "Widget should not be in the DOM"); - let widgetInPalette = !!gNavToolbox.palette.querySelector("#" + widget); - let widgetProvider = CustomizableUI.getWidget(widget).provider; - let widgetIsXULWidget = widgetProvider == CustomizableUI.PROVIDER_XUL; - is(widgetInPalette, widgetIsXULWidget, "Just XUL Widgets should be in the palette"); - } -} - -add_task(function* asyncCleanup() { - yield resetCustomization(); -}); |