diff options
Diffstat (limited to 'browser/base/content/test/tabs/browser_replacewithwindow_commands.js')
-rw-r--r-- | browser/base/content/test/tabs/browser_replacewithwindow_commands.js | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/browser/base/content/test/tabs/browser_replacewithwindow_commands.js b/browser/base/content/test/tabs/browser_replacewithwindow_commands.js new file mode 100644 index 0000000000..416e2039b1 --- /dev/null +++ b/browser/base/content/test/tabs/browser_replacewithwindow_commands.js @@ -0,0 +1,43 @@ +/* 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, + "http://www.example.com" + ); + let tab2 = await BrowserTestUtils.openNewForegroundTab( + gBrowser, + "http://www.example.com" + ); + + let delayedStartupPromise = BrowserTestUtils.waitForNewWindow(); + let win = gBrowser.replaceTabWithWindow(tab2); + await delayedStartupPromise; + + await BrowserTestUtils.waitForEvent(win.document, "commandupdate"); + + let copyCommand = win.document.getElementById("cmd_copy"); + 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); +}); |