diff options
Diffstat (limited to 'toolkit/components/aboutconfig/test/browser/browser_locked.js')
-rw-r--r-- | toolkit/components/aboutconfig/test/browser/browser_locked.js | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/toolkit/components/aboutconfig/test/browser/browser_locked.js b/toolkit/components/aboutconfig/test/browser/browser_locked.js new file mode 100644 index 0000000000..6b06f22218 --- /dev/null +++ b/toolkit/components/aboutconfig/test/browser/browser_locked.js @@ -0,0 +1,54 @@ +/* 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); + }); +}); |