Source code

Revision control

Copy as Markdown

Other Tools

Test Info:

"use strict";
/**
* Tests that if customize mode is currently attached to a background
* tab, and that tab browses to a new location, that customize mode
* is detached from that tab.
*/
add_task(async function test_exit_background_customize_mode() {
let nonCustomizingTab = gBrowser.selectedTab;
Assert.equal(
gBrowser.tabContainer.querySelector("tab[customizemode=true]"),
null,
"Should not have a tab marked as being the customize tab now."
);
await startCustomizing();
is(gBrowser.tabs.length, 2, "Should have 2 tabs");
let custTab = gBrowser.selectedTab;
let finishedCustomizing = BrowserTestUtils.waitForEvent(
gNavToolbox,
"aftercustomization"
);
await BrowserTestUtils.switchTab(gBrowser, nonCustomizingTab);
await finishedCustomizing;
let newURL = "http://example.com/";
BrowserTestUtils.startLoadingURIString(custTab.linkedBrowser, newURL);
await BrowserTestUtils.browserLoaded(custTab.linkedBrowser, false, newURL);
Assert.equal(
gBrowser.tabContainer.querySelector("tab[customizemode=true]"),
null,
"Should not have a tab marked as being the customize tab now."
);
await startCustomizing();
is(gBrowser.tabs.length, 3, "Should have 3 tabs now");
await endCustomizing();
BrowserTestUtils.removeTab(custTab);
});