Source code

Revision control

Copy as Markdown

Other Tools

Test Info: Warnings

"use strict";
function switchToCustomHistoryMode(doc) {
// Select the last item in the menulist.
let menulist = doc.getElementById("historyMode");
menulist.focus();
EventUtils.sendKey("UP");
}
function testPrefStateMatchesLockedState() {
let win = gBrowser.contentWindow;
let doc = win.document;
switchToCustomHistoryMode(doc);
let checkbox = doc.getElementById("alwaysClear");
let preference = win.Preferences.get("privacy.sanitize.sanitizeOnShutdown");
is(
checkbox.disabled,
preference.locked,
"Always Clear checkbox should be enabled when preference is not locked."
);
Services.prefs.clearUserPref("privacy.history.custom");
gBrowser.removeCurrentTab();
}
add_setup(function () {
registerCleanupFunction(function resetPreferences() {
Services.prefs.unlockPref("privacy.sanitize.sanitizeOnShutdown");
Services.prefs.clearUserPref("privacy.history.custom");
});
});
add_task(async function test_preference_enabled_when_unlocked() {
await openPreferencesViaOpenPreferencesAPI("panePrivacy", {
leaveOpen: true,
});
testPrefStateMatchesLockedState();
});
add_task(async function test_preference_disabled_when_locked() {
Services.prefs.lockPref("privacy.sanitize.sanitizeOnShutdown");
await openPreferencesViaOpenPreferencesAPI("panePrivacy", {
leaveOpen: true,
});
testPrefStateMatchesLockedState();
});