gecko-dev/browser/components/customizableui/test/browser_flexible_space_area.js

49 строки
1.5 KiB
JavaScript

/* Any copyright is dedicated to the Public Domain.
http://creativecommons.org/publicdomain/zero/1.0/ */
"use strict";
function getSpringCount(area) {
return CustomizableUI.getWidgetIdsInArea(area).filter(id =>
id.includes("spring")
).length;
}
/**
* Check that no matter where we add a flexible space, we
* never end up without a flexible space in the palette.
*/
add_task(async function test_flexible_space_addition() {
await startCustomizing();
let palette = document.getElementById("customization-palette");
// Make the bookmarks toolbar visible:
CustomizableUI.setToolbarVisibility(CustomizableUI.AREA_BOOKMARKS, true);
let areas = [CustomizableUI.AREA_NAVBAR, CustomizableUI.AREA_BOOKMARKS];
if (AppConstants.platform != "macosx") {
areas.push(CustomizableUI.AREA_MENUBAR);
}
for (let area of areas) {
let spacer = palette.querySelector("toolbarspring");
let toolbar = document.getElementById(area);
toolbar = CustomizableUI.getCustomizationTarget(toolbar);
let springCount = getSpringCount(area);
simulateItemDrag(spacer, toolbar);
// Check we added the spring:
is(
springCount + 1,
getSpringCount(area),
"Should now have an extra spring"
);
// Check there's still one in the palette:
let newSpacer = palette.querySelector("toolbarspring");
ok(newSpacer, "Should have created a new spring");
}
});
registerCleanupFunction(async function asyncCleanup() {
await endCustomizing();
await resetCustomization();
});