fune/browser/base/content/test/tabs/browser_replacewithwindow_commands.js

42 lines
1.2 KiB
JavaScript

/* Any copyright is dedicated to the Public Domain.
http://creativecommons.org/publicdomain/zero/1.0/ */
// This test verifies that focus is handled correctly when a
// tab is dragged out to a new window, by checking that the
// copy and select all commands are enabled properly.
add_task(async function () {
let tab1 = await BrowserTestUtils.openNewForegroundTab(
gBrowser,
"https://www.example.com"
);
let tab2 = await BrowserTestUtils.openNewForegroundTab(
gBrowser,
"https://www.example.com"
);
let delayedStartupPromise = BrowserTestUtils.waitForNewWindow();
let win = gBrowser.replaceTabWithWindow(tab2);
await delayedStartupPromise;
let copyCommand = win.document.getElementById("cmd_copy");
info("Waiting for copy to be enabled");
await BrowserTestUtils.waitForMutationCondition(
copyCommand,
{ attributes: true },
() => {
return !copyCommand.hasAttribute("disabled");
}
);
ok(
!win.document.getElementById("cmd_copy").hasAttribute("disabled"),
"copy is enabled"
);
ok(
!win.document.getElementById("cmd_selectAll").hasAttribute("disabled"),
"select all is enabled"
);
await BrowserTestUtils.closeWindow(win);
await BrowserTestUtils.removeTab(tab1);
});