1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/browser/components/customizableui/test/browser_1003588_no_specials_in_panel.js Wed Dec 31 06:09:35 2014 +0100 1.3 @@ -0,0 +1,92 @@ 1.4 +/* Any copyright is dedicated to the Public Domain. 1.5 + * http://creativecommons.org/publicdomain/zero/1.0/ */ 1.6 + 1.7 +"use strict"; 1.8 + 1.9 + 1.10 +add_task(function* checkNoAddingToPanel() { 1.11 + let area = CustomizableUI.AREA_PANEL; 1.12 + let previousPlacements = getAreaWidgetIds(area); 1.13 + CustomizableUI.addWidgetToArea("separator", area); 1.14 + CustomizableUI.addWidgetToArea("spring", area); 1.15 + CustomizableUI.addWidgetToArea("spacer", area); 1.16 + assertAreaPlacements(area, previousPlacements); 1.17 + 1.18 + let oldNumberOfItems = previousPlacements.length; 1.19 + if (getAreaWidgetIds(area).length != oldNumberOfItems) { 1.20 + CustomizableUI.reset(); 1.21 + } 1.22 +}); 1.23 + 1.24 +add_task(function* checkAddingToToolbar() { 1.25 + let area = CustomizableUI.AREA_NAVBAR; 1.26 + let previousPlacements = getAreaWidgetIds(area); 1.27 + CustomizableUI.addWidgetToArea("separator", area); 1.28 + CustomizableUI.addWidgetToArea("spring", area); 1.29 + CustomizableUI.addWidgetToArea("spacer", area); 1.30 + let expectedPlacements = [...previousPlacements].concat([ 1.31 + /separator/, 1.32 + /spring/, 1.33 + /spacer/ 1.34 + ]); 1.35 + assertAreaPlacements(area, expectedPlacements); 1.36 + 1.37 + let newlyAddedElements = getAreaWidgetIds(area).slice(-3); 1.38 + while (newlyAddedElements.length) { 1.39 + CustomizableUI.removeWidgetFromArea(newlyAddedElements.shift()); 1.40 + } 1.41 + 1.42 + assertAreaPlacements(area, previousPlacements); 1.43 + 1.44 + let oldNumberOfItems = previousPlacements.length; 1.45 + if (getAreaWidgetIds(area).length != oldNumberOfItems) { 1.46 + CustomizableUI.reset(); 1.47 + } 1.48 +}); 1.49 + 1.50 + 1.51 +add_task(function* checkDragging() { 1.52 + let startArea = CustomizableUI.AREA_NAVBAR; 1.53 + let targetArea = CustomizableUI.AREA_PANEL; 1.54 + let startingToolbarPlacements = getAreaWidgetIds(startArea); 1.55 + let startingTargetPlacements = getAreaWidgetIds(targetArea); 1.56 + 1.57 + CustomizableUI.addWidgetToArea("separator", startArea); 1.58 + CustomizableUI.addWidgetToArea("spring", startArea); 1.59 + CustomizableUI.addWidgetToArea("spacer", startArea); 1.60 + 1.61 + let placementsWithSpecials = getAreaWidgetIds(startArea); 1.62 + let elementsToMove = []; 1.63 + for (let id of placementsWithSpecials) { 1.64 + if (CustomizableUI.isSpecialWidget(id)) { 1.65 + elementsToMove.push(id); 1.66 + } 1.67 + } 1.68 + is(elementsToMove.length, 3, "Should have 3 elements to try and drag."); 1.69 + 1.70 + yield startCustomizing(); 1.71 + for (let id of elementsToMove) { 1.72 + simulateItemDrag(document.getElementById(id), PanelUI.contents); 1.73 + } 1.74 + 1.75 + assertAreaPlacements(startArea, placementsWithSpecials); 1.76 + assertAreaPlacements(targetArea, startingTargetPlacements); 1.77 + 1.78 + for (let id of elementsToMove) { 1.79 + simulateItemDrag(document.getElementById(id), gCustomizeMode.visiblePalette); 1.80 + } 1.81 + 1.82 + assertAreaPlacements(startArea, startingToolbarPlacements); 1.83 + assertAreaPlacements(targetArea, startingTargetPlacements); 1.84 + 1.85 + ok(!gCustomizeMode.visiblePalette.querySelector("toolbarspring,toolbarseparator,toolbarspacer"), 1.86 + "No specials should make it to the palette alive."); 1.87 + yield endCustomizing(); 1.88 +}); 1.89 + 1.90 + 1.91 +add_task(function* asyncCleanup() { 1.92 + yield endCustomizing(); 1.93 + CustomizableUI.reset(); 1.94 +}); 1.95 +