summaryrefslogtreecommitdiffstats
path: root/browser/components/aboutwelcome/tests/browser/browser_aboutwelcome_toolbar_button.js
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-19 01:14:29 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-19 01:14:29 +0000
commitfbaf0bb26397aa498eb9156f06d5a6fe34dd7dd8 (patch)
tree4c1ccaf5486d4f2009f9a338a98a83e886e29c97 /browser/components/aboutwelcome/tests/browser/browser_aboutwelcome_toolbar_button.js
parentReleasing progress-linux version 124.0.1-1~progress7.99u1. (diff)
downloadfirefox-fbaf0bb26397aa498eb9156f06d5a6fe34dd7dd8.tar.xz
firefox-fbaf0bb26397aa498eb9156f06d5a6fe34dd7dd8.zip
Merging upstream version 125.0.1.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'browser/components/aboutwelcome/tests/browser/browser_aboutwelcome_toolbar_button.js')
-rw-r--r--browser/components/aboutwelcome/tests/browser/browser_aboutwelcome_toolbar_button.js64
1 files changed, 64 insertions, 0 deletions
diff --git a/browser/components/aboutwelcome/tests/browser/browser_aboutwelcome_toolbar_button.js b/browser/components/aboutwelcome/tests/browser/browser_aboutwelcome_toolbar_button.js
new file mode 100644
index 0000000000..c9180ddf2d
--- /dev/null
+++ b/browser/components/aboutwelcome/tests/browser/browser_aboutwelcome_toolbar_button.js
@@ -0,0 +1,64 @@
+"use strict";
+
+const { AboutWelcomeTelemetry } = ChromeUtils.importESModule(
+ "resource:///modules/aboutwelcome/AboutWelcomeTelemetry.sys.mjs"
+);
+const { AWToolbarButton } = ChromeUtils.importESModule(
+ "resource:///modules/aboutwelcome/AWToolbarUtils.sys.mjs"
+);
+
+const TOOLBAR_PREF = "browser.aboutwelcome.toolbarButtonEnabled";
+const DID_SEE_FINAL_SCREEN_PREF = "browser.aboutwelcome.didSeeFinalScreen";
+
+async function openNewTab() {
+ let tab = await BrowserTestUtils.openNewForegroundTab(
+ gBrowser,
+ "about:newtab",
+ false
+ );
+
+ registerCleanupFunction(async () => {
+ BrowserTestUtils.removeTab(tab);
+ await SpecialPowers.popPrefEnv();
+ });
+
+ return tab.linkedBrowser;
+}
+
+add_task(async function test_add_and_remove_toolbar_button() {
+ // Clear the final screen pref, which may have been set by other tests
+ await SpecialPowers.pushPrefEnv({
+ set: [[DID_SEE_FINAL_SCREEN_PREF, false]],
+ });
+ // Open newtab
+ let win = await BrowserTestUtils.openNewBrowserWindow();
+ win.BrowserOpenTab();
+ ok(win, "browser exists");
+ // Try to add the button. It shouldn't add because the pref is false
+ await AWToolbarButton.maybeAddSetupButton();
+ ok(
+ !win.document.getElementById("aboutwelcome-button"),
+ "Button should not exist"
+ );
+ // Set the pref and try again
+ await SpecialPowers.pushPrefEnv({
+ set: [[TOOLBAR_PREF, true]],
+ });
+ await AWToolbarButton.maybeAddSetupButton();
+ // The button should exist
+ ok(
+ win.document.getElementById("aboutwelcome-button"),
+ "Button should be added."
+ );
+ // Switch the pref to false and check again
+ await SpecialPowers.pushPrefEnv({
+ set: [[TOOLBAR_PREF, false]],
+ });
+ ok(
+ !win.document.getElementById("aboutwelcome-button"),
+ "Button should be removed"
+ );
+ // Cleanup
+ await SpecialPowers.popPrefEnv();
+ await BrowserTestUtils.closeWindow(win);
+});