michael@0: /* Any copyright is dedicated to the Public Domain. michael@0: * http://creativecommons.org/licenses/publicdomain/ */ michael@0: michael@0: function run_test() { michael@0: const Cc = Components.classes; michael@0: const Ci = Components.interfaces; michael@0: const PREF_NAME = "testPref"; michael@0: michael@0: var ps = Cc["@mozilla.org/preferences-service;1"] michael@0: .getService(Ci.nsIPrefService); michael@0: var prefs = ps.getDefaultBranch(null); michael@0: var userprefs = ps.getBranch(null); michael@0: michael@0: prefs.setCharPref(PREF_NAME, "test0"); michael@0: prefs.lockPref(PREF_NAME); michael@0: do_check_eq("test0", userprefs.getCharPref(PREF_NAME)); michael@0: do_check_eq(false, userprefs.prefHasUserValue(PREF_NAME)); michael@0: michael@0: var file = do_get_profile(); michael@0: file.append("prefs.js"); michael@0: ps.savePrefFile(file); michael@0: michael@0: prefs.unlockPref(PREF_NAME); michael@0: prefs.setCharPref(PREF_NAME, "test1"); michael@0: ps.readUserPrefs(file); michael@0: michael@0: do_check_eq("test1", userprefs.getCharPref(PREF_NAME)); michael@0: do_check_eq(false, userprefs.prefHasUserValue(PREF_NAME)); michael@0: }