summaryrefslogtreecommitdiffstats
path: root/browser/base/content/test/tabs/browser_tabSwitchPrintPreview.js
diff options
context:
space:
mode:
Diffstat (limited to 'browser/base/content/test/tabs/browser_tabSwitchPrintPreview.js')
-rw-r--r--browser/base/content/test/tabs/browser_tabSwitchPrintPreview.js29
1 files changed, 29 insertions, 0 deletions
diff --git a/browser/base/content/test/tabs/browser_tabSwitchPrintPreview.js b/browser/base/content/test/tabs/browser_tabSwitchPrintPreview.js
new file mode 100644
index 000000000..4ec36a7cc
--- /dev/null
+++ b/browser/base/content/test/tabs/browser_tabSwitchPrintPreview.js
@@ -0,0 +1,29 @@
+const kURL1 = "data:text/html,Should I stay or should I go?";
+const kURL2 = "data:text/html,I shouldn't be here!";
+
+add_task(function* setup() {
+ yield SpecialPowers.pushPrefEnv({
+ set: [["dom.ipc.processCount", 1]]
+ });
+});
+
+/**
+ * Verify that if we open a new tab and try to make it the selected tab while
+ * print preview is up, that doesn't happen.
+ */
+add_task(function* () {
+ yield BrowserTestUtils.withNewTab(kURL1, function* (browser) {
+ let tab = gBrowser.addTab(kURL2);
+ document.getElementById("cmd_printPreview").doCommand();
+ gBrowser.selectedTab = tab;
+ yield BrowserTestUtils.waitForCondition(() => gInPrintPreviewMode, "should be in print preview mode");
+ isnot(gBrowser.selectedTab, tab, "Selected tab should not be the tab we added");
+ is(gBrowser.selectedTab, PrintPreviewListener._printPreviewTab, "Selected tab should be the print preview tab");
+ gBrowser.selectedTab = tab;
+ isnot(gBrowser.selectedTab, tab, "Selected tab should still not be the tab we added");
+ is(gBrowser.selectedTab, PrintPreviewListener._printPreviewTab, "Selected tab should still be the print preview tab");
+ PrintUtils.exitPrintPreview();
+ yield BrowserTestUtils.waitForCondition(() => !gInPrintPreviewMode, "should be in print preview mode");
+ yield BrowserTestUtils.removeTab(tab);
+ });
+});