michael@0: /* Any copyright is dedicated to the Public Domain. michael@0: http://creativecommons.org/publicdomain/zero/1.0/ */ michael@0: michael@0: Cu.import("resource://gre/modules/Preferences.jsm"); michael@0: Cu.import("resource://services-sync/util.js"); michael@0: michael@0: function test_migrate_logging() { michael@0: _("Testing log pref migration."); michael@0: Svc.Prefs.set("log.appender.debugLog", "Warn"); michael@0: Svc.Prefs.set("log.appender.debugLog.enabled", true); michael@0: do_check_true(Svc.Prefs.get("log.appender.debugLog.enabled")); michael@0: do_check_eq(Svc.Prefs.get("log.appender.file.level"), "Trace"); michael@0: do_check_eq(Svc.Prefs.get("log.appender.file.logOnSuccess"), false); michael@0: michael@0: Service._migratePrefs(); michael@0: michael@0: do_check_eq("Warn", Svc.Prefs.get("log.appender.file.level")); michael@0: do_check_true(Svc.Prefs.get("log.appender.file.logOnSuccess")); michael@0: do_check_eq(Svc.Prefs.get("log.appender.debugLog"), undefined); michael@0: do_check_eq(Svc.Prefs.get("log.appender.debugLog.enabled"), undefined); michael@0: }; michael@0: michael@0: function run_test() { michael@0: _("Set some prefs on the old branch"); michael@0: let globalPref = new Preferences(""); michael@0: globalPref.set("extensions.weave.hello", "world"); michael@0: globalPref.set("extensions.weave.number", 42); michael@0: globalPref.set("extensions.weave.yes", true); michael@0: globalPref.set("extensions.weave.no", false); michael@0: michael@0: _("Make sure the old prefs are there"); michael@0: do_check_eq(globalPref.get("extensions.weave.hello"), "world"); michael@0: do_check_eq(globalPref.get("extensions.weave.number"), 42); michael@0: do_check_eq(globalPref.get("extensions.weave.yes"), true); michael@0: do_check_eq(globalPref.get("extensions.weave.no"), false); michael@0: michael@0: _("New prefs shouldn't exist yet"); michael@0: do_check_eq(globalPref.get("services.sync.hello"), null); michael@0: do_check_eq(globalPref.get("services.sync.number"), null); michael@0: do_check_eq(globalPref.get("services.sync.yes"), null); michael@0: do_check_eq(globalPref.get("services.sync.no"), null); michael@0: michael@0: _("Loading service should migrate"); michael@0: Cu.import("resource://services-sync/service.js"); michael@0: do_check_eq(globalPref.get("services.sync.hello"), "world"); michael@0: do_check_eq(globalPref.get("services.sync.number"), 42); michael@0: do_check_eq(globalPref.get("services.sync.yes"), true); michael@0: do_check_eq(globalPref.get("services.sync.no"), false); michael@0: do_check_eq(globalPref.get("extensions.weave.hello"), null); michael@0: do_check_eq(globalPref.get("extensions.weave.number"), null); michael@0: do_check_eq(globalPref.get("extensions.weave.yes"), null); michael@0: do_check_eq(globalPref.get("extensions.weave.no"), null); michael@0: michael@0: _("Migrating should set a pref to make sure to not re-migrate"); michael@0: do_check_true(globalPref.get("services.sync.migrated")); michael@0: michael@0: _("Make sure re-migrate doesn't happen"); michael@0: globalPref.set("extensions.weave.tooLate", "already migrated!"); michael@0: do_check_eq(globalPref.get("extensions.weave.tooLate"), "already migrated!"); michael@0: do_check_eq(globalPref.get("services.sync.tooLate"), null); michael@0: Service._migratePrefs(); michael@0: do_check_eq(globalPref.get("extensions.weave.tooLate"), "already migrated!"); michael@0: do_check_eq(globalPref.get("services.sync.tooLate"), null); michael@0: michael@0: _("Clearing out pref changes for other tests"); michael@0: globalPref.resetBranch("extensions.weave."); michael@0: globalPref.resetBranch("services.sync."); michael@0: michael@0: test_migrate_logging(); michael@0: }