Source code

Revision control

Copy as Markdown

Other Tools

Test Info:

"use strict";
add_task(async function () {
await startCustomizing();
is(gBrowser.tabs.length, 2, "Should have 2 tabs");
let paletteKidCount = document.getElementById(
"customization-palette"
).childElementCount;
let nonCustomizingTab = gBrowser.tabContainer.querySelector(
"tab:not([customizemode=true])"
);
let finishedCustomizing = BrowserTestUtils.waitForEvent(
gNavToolbox,
"aftercustomization"
);
await BrowserTestUtils.switchTab(gBrowser, nonCustomizingTab);
await finishedCustomizing;
let startedCount = 0;
let handler = () => startedCount++;
gNavToolbox.addEventListener("customizationstarting", handler);
await startCustomizing();
CustomizableUI.removeWidgetFromArea("stop-reload-button");
await gCustomizeMode.reset().catch(e => {
ok(
false,
"Threw an exception trying to reset after making modifications in customize mode: " +
e
);
});
let newKidCount = document.getElementById(
"customization-palette"
).childElementCount;
is(
newKidCount,
paletteKidCount,
"Should have just as many items in the palette as before."
);
await endCustomizing();
is(startedCount, 1, "Should have only started once");
gNavToolbox.removeEventListener("customizationstarting", handler);
let customizableToolbars = document.querySelectorAll(
"toolbar[customizable=true]:not([autohide=true])"
);
for (let toolbar of customizableToolbars) {
ok(
!toolbar.hasAttribute("customizing"),
"Toolbar " + toolbar.id + " is no longer customizing"
);
}
});