gecko-dev/toolkit/content/tests/browser/browser_charsetMenu_swapBrowsers.js
Blake Kaplan 10dcf78c62 Bug 1327118 - Fix the charset encoding menu not being properly enabled when dragging tabs into a new window. r=mconley
MozReview-Commit-ID: 15HVXsKHoYW

--HG--
extra : rebase_source : 71b7099d11502b58473921182eaaab74b0682d61
2017-06-06 17:04:54 -07:00

28 lines
1.1 KiB
JavaScript

/* Test that the charset menu is properly enabled when swapping browsers. */
add_task(async function test() {
// NB: This test cheats and calls updateCharacterEncodingMenuState directly
// instead of opening the "View" menu.
function charsetMenuEnabled() {
updateCharacterEncodingMenuState();
return !document.getElementById("charsetMenu").hasAttribute("disabled");
}
const PAGE = "data:text/html;charset=utf-8,<!DOCTYPE html><body>hello";
let tab1 = await BrowserTestUtils.openNewForegroundTab({ gBrowser, url: PAGE });
ok(charsetMenuEnabled(), "should have a charset menu here");
let tab2 = await BrowserTestUtils.openNewForegroundTab({ gBrowser });
ok(!charsetMenuEnabled(), "about:blank shouldn't have a charset menu");
await BrowserTestUtils.switchTab(gBrowser, tab1);
let swapped = BrowserTestUtils.waitForEvent(tab2.linkedBrowser, "SwapDocShells");
// NB: Closes tab1.
gBrowser.swapBrowsersAndCloseOther(tab2, tab1);
await swapped;
ok(charsetMenuEnabled(), "should have a charset after the swap");
await BrowserTestUtils.removeTab(tab2);
});