54 lines
2 KiB
JavaScript
54 lines
2 KiB
JavaScript
/* Any copyright is dedicated to the Public Domain.
|
|
* http://creativecommons.org/publicdomain/zero/1.0/ */
|
|
|
|
const PREF_STRING_NO_DEFAULT = "test.aboutconfig.a";
|
|
|
|
add_setup(async function () {
|
|
await SpecialPowers.pushPrefEnv({
|
|
set: [[PREF_STRING_NO_DEFAULT, "some value"]],
|
|
});
|
|
});
|
|
|
|
add_task(async function test_locked() {
|
|
registerCleanupFunction(() => {
|
|
Services.prefs.unlockPref(PREF_STRING_DEFAULT_NOTEMPTY);
|
|
Services.prefs.unlockPref(PREF_BOOLEAN_DEFAULT_TRUE);
|
|
Services.prefs.unlockPref(PREF_STRING_NO_DEFAULT);
|
|
});
|
|
|
|
Services.prefs.lockPref(PREF_STRING_DEFAULT_NOTEMPTY);
|
|
Services.prefs.lockPref(PREF_BOOLEAN_DEFAULT_TRUE);
|
|
Services.prefs.lockPref(PREF_STRING_NO_DEFAULT);
|
|
|
|
await AboutConfigTest.withNewTab(async function () {
|
|
// Test locked default string pref.
|
|
let lockedPref = this.getRow(PREF_STRING_DEFAULT_NOTEMPTY);
|
|
Assert.ok(lockedPref.hasClass("locked"));
|
|
Assert.equal(lockedPref.value, PREF_STRING_DEFAULT_NOTEMPTY_VALUE);
|
|
Assert.ok(lockedPref.editColumnButton.classList.contains("button-edit"));
|
|
Assert.ok(lockedPref.editColumnButton.disabled);
|
|
|
|
// Test locked default boolean pref.
|
|
lockedPref = this.getRow(PREF_BOOLEAN_DEFAULT_TRUE);
|
|
Assert.ok(lockedPref.hasClass("locked"));
|
|
Assert.equal(lockedPref.value, "true");
|
|
Assert.ok(lockedPref.editColumnButton.classList.contains("button-toggle"));
|
|
Assert.ok(lockedPref.editColumnButton.disabled);
|
|
|
|
// Test locked user added pref.
|
|
lockedPref = this.getRow(PREF_STRING_NO_DEFAULT);
|
|
Assert.ok(lockedPref.hasClass("locked"));
|
|
Assert.equal(lockedPref.value, "");
|
|
Assert.ok(lockedPref.editColumnButton.classList.contains("button-edit"));
|
|
Assert.ok(lockedPref.editColumnButton.disabled);
|
|
|
|
// Test pref not locked.
|
|
let unlockedPref = this.getRow(PREF_BOOLEAN_USERVALUE_TRUE);
|
|
Assert.ok(!unlockedPref.hasClass("locked"));
|
|
Assert.equal(unlockedPref.value, "true");
|
|
Assert.ok(
|
|
unlockedPref.editColumnButton.classList.contains("button-toggle")
|
|
);
|
|
Assert.ok(!unlockedPref.editColumnButton.disabled);
|
|
});
|
|
});
|