mirror of
https://repo.dactyloidae.xyz/Dactyloidae/UXP.git
synced 2026-10-04 06:17:30 +09:00
Bug 1338306 - nsIPrefBranch.get*Pref should support providing a default value, r=bsmedberg.
This commit is contained in:
parent
2f3189f5a4
commit
a85e8de713
4 changed files with 126 additions and 4 deletions
48
modules/libpref/test/unit/test_defaultValues.js
Normal file
48
modules/libpref/test/unit/test_defaultValues.js
Normal file
|
|
@ -0,0 +1,48 @@
|
|||
/* This Source Code Form is subject to the terms of the Mozilla Public
|
||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
||||
|
||||
/* Tests for providing a default value to get{Bool,Char,Float,Int}Pref */
|
||||
|
||||
function run_test() {
|
||||
var ps = Cc["@mozilla.org/preferences-service;1"]
|
||||
.getService(Ci.nsIPrefService)
|
||||
.QueryInterface(Ci.nsIPrefBranch);
|
||||
|
||||
let prefName = "test.default.values.bool";
|
||||
do_check_throws(function() { ps.getBoolPref(prefName); },
|
||||
Cr.NS_ERROR_UNEXPECTED);
|
||||
strictEqual(ps.getBoolPref(prefName, false), false);
|
||||
strictEqual(ps.getBoolPref(prefName, true), true);
|
||||
ps.setBoolPref(prefName, true);
|
||||
strictEqual(ps.getBoolPref(prefName), true);
|
||||
strictEqual(ps.getBoolPref(prefName, false), true);
|
||||
strictEqual(ps.getBoolPref(prefName, true), true);
|
||||
|
||||
prefName = "test.default.values.char";
|
||||
do_check_throws(function() { ps.getCharPref(prefName); },
|
||||
Cr.NS_ERROR_UNEXPECTED);
|
||||
strictEqual(ps.getCharPref(prefName, ""), "");
|
||||
strictEqual(ps.getCharPref(prefName, "string"), "string");
|
||||
ps.setCharPref(prefName, "foo");
|
||||
strictEqual(ps.getCharPref(prefName), "foo");
|
||||
strictEqual(ps.getCharPref(prefName, "string"), "foo");
|
||||
|
||||
prefName = "test.default.values.float";
|
||||
do_check_throws(function() { ps.getFloatPref(prefName); },
|
||||
Cr.NS_ERROR_UNEXPECTED);
|
||||
strictEqual(ps.getFloatPref(prefName, 3.5), 3.5);
|
||||
strictEqual(ps.getFloatPref(prefName, 0), 0);
|
||||
ps.setCharPref(prefName, 1.75);
|
||||
strictEqual(ps.getFloatPref(prefName), 1.75);
|
||||
strictEqual(ps.getFloatPref(prefName, 3.5), 1.75);
|
||||
|
||||
prefName = "test.default.values.int";
|
||||
do_check_throws(function() { ps.getIntPref(prefName); },
|
||||
Cr.NS_ERROR_UNEXPECTED);
|
||||
strictEqual(ps.getIntPref(prefName, 3), 3);
|
||||
strictEqual(ps.getIntPref(prefName, 0), 0);
|
||||
ps.setIntPref(prefName, 42);
|
||||
strictEqual(ps.getIntPref(prefName), 42);
|
||||
strictEqual(ps.getIntPref(prefName, 3), 42);
|
||||
}
|
||||
|
|
@ -13,6 +13,7 @@ support-files =
|
|||
[test_stickyprefs.js]
|
||||
support-files = data/testPrefSticky.js data/testPrefStickyUser.js
|
||||
[test_changeType.js]
|
||||
[test_defaultValues.js]
|
||||
[test_dirtyPrefs.js]
|
||||
[test_extprefs.js]
|
||||
[test_libPrefs.js]
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue