add_task(async function test_openPreferences_spotlight() { for (let [arg, expectedPane, expectedHash, expectedSubcategory] of [ ["privacy-reports", "panePrivacy", "#privacy", "reports"], ["privacy-address-autofill", "panePrivacy", "#privacy", "address-autofill"], ["privacy-credit-card-autofill", "panePrivacy", "#privacy", "credit-card-autofill"], ["privacy-form-autofill", "panePrivacy", "#privacy", "form-autofill"], ["privacy-trackingprotection", "panePrivacy", "#privacy", "trackingprotection"], ["privacy-permissions-block-popups", "panePrivacy", "#privacy", "permissions-block-popups"], ]) { if (arg == "privacy-credit-card-autofill" && !Services.prefs.getBoolPref("extensions.formautofill.creditCards.available")) { continue; } let prefs = await openPreferencesViaOpenPreferencesAPI(arg, { leaveOpen: true }); is(prefs.selectedPane, expectedPane, "The right pane is selected"); let doc = gBrowser.contentDocument; is(doc.location.hash, expectedHash, "The subcategory should be removed from the URI"); await TestUtils.waitForCondition(() => doc.querySelector(".spotlight"), "Wait for the spotlight"); is(doc.querySelector(".spotlight").getAttribute("data-subcategory"), expectedSubcategory, "The right subcategory is spotlighted"); doc.defaultView.spotlight(null); is(doc.querySelector(".spotlight"), null, "The spotlighted section is cleared"); BrowserTestUtils.removeTab(gBrowser.selectedTab); } });