diff options
Diffstat (limited to '')
-rw-r--r-- | browser/components/tests/browser/browser_browserGlue_showModal_trigger.js | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/browser/components/tests/browser/browser_browserGlue_showModal_trigger.js b/browser/components/tests/browser/browser_browserGlue_showModal_trigger.js new file mode 100644 index 0000000000..eb753bf796 --- /dev/null +++ b/browser/components/tests/browser/browser_browserGlue_showModal_trigger.js @@ -0,0 +1,47 @@ +/* Any copyright is dedicated to the Public Domain. +http://creativecommons.org/publicdomain/zero/1.0/ */ + +"use strict"; + +XPCOMUtils.defineLazyServiceGetters(this, { + BrowserHandler: ["@mozilla.org/browser/clh;1", "nsIBrowserHandler"], +}); + +async function showAboutWelcomeModal() { + await SpecialPowers.pushPrefEnv({ + set: [["browser.aboutwelcome.showModal", true]], + }); + + BrowserHandler.firstRunProfile = true; + + const data = [ + { + id: "TEST_SCREEN", + content: { + position: "split", + logo: {}, + title: "test", + }, + }, + ]; + + return { + data, + async cleanup() { + await SpecialPowers.popPrefEnv(); + BrowserHandler.firstRunProfile = false; + }, + }; +} + +add_task(async function show_about_welcome_modal() { + const { data } = await showAboutWelcomeModal(); + await SpecialPowers.pushPrefEnv({ + set: [["browser.aboutwelcome.screens", JSON.stringify(data)]], + }); + BROWSER_GLUE._maybeShowDefaultBrowserPrompt(); + const [win] = await TestUtils.topicObserved("subdialog-loaded"); + const modal = win.document.querySelector(".onboardingContainer"); + ok(!!modal, "About Welcome modal shown"); + win.close(); +}); |