Source code

Revision control

Copy as Markdown

Other Tools

Test Info:

/* Any copyright is dedicated to the Public Domain.
"use strict";
add_task(
async function test_appearance_sidebar_hidden_when_redesign_disabled() {
await SpecialPowers.pushPrefEnv({
set: [["browser.settings-redesign.enabled", false]],
});
await openPreferencesViaOpenPreferencesAPI("general", { leaveOpen: true });
let doc = gBrowser.selectedBrowser.contentDocument;
ok(
!doc.getElementById("category-appearance"),
"Appearance category is removed from DOM when settings redesign is disabled"
);
BrowserTestUtils.removeTab(gBrowser.selectedTab);
}
);
add_task(
async function test_appearance_sidebar_visible_when_redesign_enabled() {
await SpecialPowers.pushPrefEnv({
set: [["browser.settings-redesign.enabled", true]],
});
await openPreferencesViaOpenPreferencesAPI("general", { leaveOpen: true });
let doc = gBrowser.selectedBrowser.contentDocument;
is_element_visible(
doc.getElementById("category-appearance"),
"Appearance category is visible when settings redesign is enabled"
);
BrowserTestUtils.removeTab(gBrowser.selectedTab);
}
);
add_task(async function test_appearance_pane_loads_setting_groups() {
await SpecialPowers.pushPrefEnv({
set: [["browser.settings-redesign.enabled", true]],
});
await openPreferencesViaOpenPreferencesAPI("appearance", {
leaveOpen: true,
});
let doc = gBrowser.selectedBrowser.contentDocument;
await BrowserTestUtils.waitForMutationCondition(
doc.getElementById("mainPrefPane"),
{ childList: true, subtree: true },
() => doc.querySelector('setting-group[groupid="appearance"]')
);
for (let groupId of ["appearance", "browserTheme", "relatedSettings"]) {
let group = doc.querySelector(`setting-group[groupid="${groupId}"]`);
ok(group, `${groupId} setting-group exists`);
is_element_visible(group, `${groupId} setting-group is visible`);
}
BrowserTestUtils.removeTab(gBrowser.selectedTab);
});
add_task(async function test_appearance_pane_click_sidebar() {
await SpecialPowers.pushPrefEnv({
set: [["browser.settings-redesign.enabled", true]],
});
await openPreferencesViaOpenPreferencesAPI("general", { leaveOpen: true });
let doc = gBrowser.selectedBrowser.contentDocument;
let paneLoaded = waitForPaneChange("appearance");
synthesizeClick(doc.getElementById("category-appearance"));
await paneLoaded;
await BrowserTestUtils.waitForMutationCondition(
doc.getElementById("mainPrefPane"),
{ childList: true, subtree: true },
() => doc.querySelector('setting-group[groupid="appearance"]')
);
ok(
doc.querySelector('setting-group[groupid="appearance"]'),
"Appearance setting-group is present after clicking appearance nav button"
);
BrowserTestUtils.removeTab(gBrowser.selectedTab);
});
add_task(async function test_appearance_groups_removed_from_general() {
await SpecialPowers.pushPrefEnv({
set: [["browser.settings-redesign.enabled", true]],
});
await openPreferencesViaOpenPreferencesAPI("general", { leaveOpen: true });
let doc = gBrowser.selectedBrowser.contentDocument;
ok(
!doc.querySelector(
'setting-group[groupid="appearance"][data-srd-migrated]'
),
"appearance group is removed from General pane when settings redesign is enabled"
);
BrowserTestUtils.removeTab(gBrowser.selectedTab);
});
add_task(async function test_related_settings_accessibility_link_navigates() {
await SpecialPowers.pushPrefEnv({
set: [["browser.settings-redesign.enabled", true]],
});
await openPreferencesViaOpenPreferencesAPI("appearance", {
leaveOpen: true,
});
let doc = gBrowser.selectedBrowser.contentDocument;
await BrowserTestUtils.waitForMutationCondition(
doc.getElementById("mainPrefPane"),
{ childList: true, subtree: true },
() => doc.querySelector('setting-group[groupid="relatedSettings"]')
);
let paneLoaded = waitForPaneChange("accessibility");
synthesizeClick(getSettingControl("related-settings-accessibility-link"));
await paneLoaded;
BrowserTestUtils.removeTab(gBrowser.selectedTab);
});
add_task(async function test_related_settings_home_link_navigates() {
await SpecialPowers.pushPrefEnv({
set: [["browser.settings-redesign.enabled", true]],
});
await openPreferencesViaOpenPreferencesAPI("appearance", {
leaveOpen: true,
});
let doc = gBrowser.selectedBrowser.contentDocument;
await BrowserTestUtils.waitForMutationCondition(
doc.getElementById("mainPrefPane"),
{ childList: true, subtree: true },
() => doc.querySelector('setting-group[groupid="relatedSettings"]')
);
let paneLoaded = waitForPaneChange("home");
synthesizeClick(getSettingControl("related-settings-home-link"));
await paneLoaded;
BrowserTestUtils.removeTab(gBrowser.selectedTab);
});
add_task(async function test_related_settings_tabs_browsing_link_navigates() {
await SpecialPowers.pushPrefEnv({
set: [["browser.settings-redesign.enabled", true]],
});
await openPreferencesViaOpenPreferencesAPI("appearance", {
leaveOpen: true,
});
let doc = gBrowser.selectedBrowser.contentDocument;
await BrowserTestUtils.waitForMutationCondition(
doc.getElementById("mainPrefPane"),
{ childList: true, subtree: true },
() => doc.querySelector('setting-group[groupid="relatedSettings"]')
);
let paneLoaded = waitForPaneChange("tabsBrowsing");
synthesizeClick(getSettingControl("related-settings-tabs-browsing-link"));
await paneLoaded;
BrowserTestUtils.removeTab(gBrowser.selectedTab);
});
add_task(async function test_browser_layout_group_in_tabs_browsing_pane() {
await SpecialPowers.pushPrefEnv({
set: [["browser.settings-redesign.enabled", true]],
});
await openPreferencesViaOpenPreferencesAPI("tabsBrowsing", {
leaveOpen: true,
});
let doc = gBrowser.selectedBrowser.contentDocument;
await BrowserTestUtils.waitForMutationCondition(
doc.getElementById("mainPrefPane"),
{ childList: true, subtree: true },
() => doc.querySelector('setting-group[groupid="browserLayout"]')
);
let group = doc.querySelector('setting-group[groupid="browserLayout"]');
ok(group, "browserLayout setting-group exists in tabs-browsing pane");
is_element_visible(group, "browserLayout setting-group is visible");
BrowserTestUtils.removeTab(gBrowser.selectedTab);
});