summaryrefslogtreecommitdiffstats
path: root/browser/components/uitour/test/browser_backgroundTab.js
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-07 17:32:43 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-07 17:32:43 +0000
commit6bf0a5cb5034a7e684dcc3500e841785237ce2dd (patch)
treea68f146d7fa01f0134297619fbe7e33db084e0aa /browser/components/uitour/test/browser_backgroundTab.js
parentInitial commit. (diff)
downloadthunderbird-upstream.tar.xz
thunderbird-upstream.zip
Adding upstream version 1:115.7.0.upstream/1%115.7.0upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'browser/components/uitour/test/browser_backgroundTab.js')
-rw-r--r--browser/components/uitour/test/browser_backgroundTab.js57
1 files changed, 57 insertions, 0 deletions
diff --git a/browser/components/uitour/test/browser_backgroundTab.js b/browser/components/uitour/test/browser_backgroundTab.js
new file mode 100644
index 0000000000..dbf14bdba5
--- /dev/null
+++ b/browser/components/uitour/test/browser_backgroundTab.js
@@ -0,0 +1,57 @@
+"use strict";
+
+var gTestTab;
+var gContentAPI;
+
+requestLongerTimeout(2);
+add_task(setup_UITourTest);
+
+add_UITour_task(async function test_bg_getConfiguration() {
+ info("getConfiguration is on the allowed list so should work");
+ await loadForegroundTab();
+ let data = await getConfigurationPromise("availableTargets");
+ ok(data, "Got data from getConfiguration");
+ BrowserTestUtils.removeTab(gBrowser.selectedTab);
+});
+
+add_UITour_task(async function test_bg_showInfo() {
+ info("showInfo isn't on the allowed action list so should be denied");
+ await loadForegroundTab();
+
+ await showInfoPromise(
+ "appMenu",
+ "Hello from the background",
+ "Surprise!"
+ ).then(
+ () => ok(false, "panel shouldn't have shown from a background tab"),
+ () => ok(true, "panel wasn't shown from a background tab")
+ );
+
+ BrowserTestUtils.removeTab(gBrowser.selectedTab);
+});
+
+async function loadForegroundTab() {
+ // Spawn a content task that resolves once we're sure the visibilityState was
+ // changed. This state is what the tests in this file rely on.
+ let promise = SpecialPowers.spawn(
+ gBrowser.selectedTab.linkedBrowser,
+ [],
+ async function () {
+ return new Promise(resolve => {
+ let document = content.document;
+ document.addEventListener("visibilitychange", function onStateChange() {
+ Assert.equal(
+ document.visibilityState,
+ "hidden",
+ "UITour page should be hidden now."
+ );
+ document.removeEventListener("visibilitychange", onStateChange);
+ resolve();
+ });
+ });
+ }
+ );
+ await BrowserTestUtils.openNewForegroundTab(gBrowser);
+ await promise;
+ isnot(gBrowser.selectedTab, gTestTab, "Make sure tour tab isn't selected");
+}