diff options
Diffstat (limited to 'browser/base/content/test/general/browser_bug763468_perwindowpb.js')
-rw-r--r-- | browser/base/content/test/general/browser_bug763468_perwindowpb.js | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/browser/base/content/test/general/browser_bug763468_perwindowpb.js b/browser/base/content/test/general/browser_bug763468_perwindowpb.js new file mode 100644 index 0000000000..2aaec9a7b6 --- /dev/null +++ b/browser/base/content/test/general/browser_bug763468_perwindowpb.js @@ -0,0 +1,57 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ +"use strict"; + +// This test makes sure that opening a new tab in private browsing mode opens about:privatebrowsing +add_task(async function testPBNewTab() { + registerCleanupFunction(async function() { + for (let win of windowsToClose) { + await BrowserTestUtils.closeWindow(win); + } + }); + + let windowsToClose = []; + + async function doTest(aIsPrivateMode) { + let newTabURL; + let mode; + let win = await BrowserTestUtils.openNewBrowserWindow({ + private: aIsPrivateMode, + }); + windowsToClose.push(win); + + if (aIsPrivateMode) { + mode = "per window private browsing"; + newTabURL = "about:privatebrowsing"; + } else { + mode = "normal"; + newTabURL = "about:newtab"; + } + await openNewTab(win, newTabURL); + + is( + win.gBrowser.currentURI.spec, + newTabURL, + "URL of NewTab should be " + newTabURL + " in " + mode + " mode" + ); + } + + await doTest(false); + await doTest(true); + await doTest(false); +}); + +async function openNewTab(aWindow, aExpectedURL) { + // Open a new tab + aWindow.BrowserOpenTab(); + let browser = aWindow.gBrowser.selectedBrowser; + + // We're already loaded. + if (browser.currentURI.spec === aExpectedURL) { + return; + } + + // Wait for any location change. + await BrowserTestUtils.waitForLocationChange(aWindow.gBrowser); +} |