diff options
Diffstat (limited to 'browser/base/content/test/general/browser_bug462673.js')
-rw-r--r-- | browser/base/content/test/general/browser_bug462673.js | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/browser/base/content/test/general/browser_bug462673.js b/browser/base/content/test/general/browser_bug462673.js new file mode 100644 index 000000000..f5b090917 --- /dev/null +++ b/browser/base/content/test/general/browser_bug462673.js @@ -0,0 +1,36 @@ +add_task(function* () { + var win = openDialog(getBrowserURL(), "_blank", "chrome,all,dialog=no"); + yield SimpleTest.promiseFocus(win); + + let tab = win.gBrowser.tabContainer.firstChild; + yield promiseTabLoadEvent(tab, getRootDirectory(gTestPath) + "test_bug462673.html"); + + is(win.gBrowser.browsers.length, 2, "test_bug462673.html has opened a second tab"); + is(win.gBrowser.selectedTab, tab.nextSibling, "dependent tab is selected"); + win.gBrowser.removeTab(tab); + + // Closing a tab will also close its parent chrome window, but async + yield promiseWindowWillBeClosed(win); +}); + +add_task(function* () { + var win = openDialog(getBrowserURL(), "_blank", "chrome,all,dialog=no"); + yield SimpleTest.promiseFocus(win); + + let tab = win.gBrowser.tabContainer.firstChild; + yield promiseTabLoadEvent(tab, getRootDirectory(gTestPath) + "test_bug462673.html"); + + var newTab = win.gBrowser.addTab(); + var newBrowser = newTab.linkedBrowser; + win.gBrowser.removeTab(tab); + ok(!win.closed, "Window stays open"); + if (!win.closed) { + is(win.gBrowser.tabContainer.childElementCount, 1, "Window has one tab"); + is(win.gBrowser.browsers.length, 1, "Window has one browser"); + is(win.gBrowser.selectedTab, newTab, "Remaining tab is selected"); + is(win.gBrowser.selectedBrowser, newBrowser, "Browser for remaining tab is selected"); + is(win.gBrowser.mTabBox.selectedPanel, newBrowser.parentNode.parentNode.parentNode.parentNode, "Panel for remaining tab is selected"); + } + + yield promiseWindowClosed(win); +}); |