Source code
Revision control
Copy as Markdown
Other Tools
Test Info:
/* Any copyright is dedicated to the Public Domain.
"use strict";
const HIDE_LOGO_PREF = "browser.newtabpage.activity-stream.hideLogo";
const NOVA_PREF = "browser.newtabpage.activity-stream.nova.enabled";
add_setup(async function () {
await SpecialPowers.pushPrefEnv({
set: [
["identity.fxaccounts.account.device.name", ""],
// Toggle is only registered when Nova is enabled (hideLogo has no
// effect outside the Nova render path in Base.jsx).
[NOVA_PREF, true],
// Default state: logo visible (hideLogo=false).
[HIDE_LOGO_PREF, false],
],
});
});
add_task(async function test_firefox_logo_toggle() {
let { win, tab } = await openHomePreferences();
try {
let control = await settingControlRenders("firefoxLogo", win);
ok(BrowserTestUtils.isVisible(control), "firefoxLogo control is visible");
let toggle = control.querySelector("moz-toggle");
ok(toggle, "firefoxLogo renders a moz-toggle");
ok(
toggle.pressed,
"Toggle is ON by default (logo visible, hideLogo=false)"
);
let prefChanged = waitForPrefChange(HIDE_LOGO_PREF, true);
toggle.click();
await prefChanged;
await waitForToggleState(toggle, false);
is(
Services.prefs.getBoolPref(HIDE_LOGO_PREF),
true,
"hideLogo is now true (logo hidden)"
);
prefChanged = waitForPrefChange(HIDE_LOGO_PREF, false);
toggle.click();
await prefChanged;
await waitForToggleState(toggle, true);
is(
Services.prefs.getBoolPref(HIDE_LOGO_PREF),
false,
"hideLogo is now false (logo visible)"
);
} finally {
BrowserTestUtils.removeTab(tab);
}
});