1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/services/sync/tests/unit/test_service_migratePrefs.js Wed Dec 31 06:09:35 2014 +0100 1.3 @@ -0,0 +1,70 @@ 1.4 +/* Any copyright is dedicated to the Public Domain. 1.5 + http://creativecommons.org/publicdomain/zero/1.0/ */ 1.6 + 1.7 +Cu.import("resource://gre/modules/Preferences.jsm"); 1.8 +Cu.import("resource://services-sync/util.js"); 1.9 + 1.10 +function test_migrate_logging() { 1.11 + _("Testing log pref migration."); 1.12 + Svc.Prefs.set("log.appender.debugLog", "Warn"); 1.13 + Svc.Prefs.set("log.appender.debugLog.enabled", true); 1.14 + do_check_true(Svc.Prefs.get("log.appender.debugLog.enabled")); 1.15 + do_check_eq(Svc.Prefs.get("log.appender.file.level"), "Trace"); 1.16 + do_check_eq(Svc.Prefs.get("log.appender.file.logOnSuccess"), false); 1.17 + 1.18 + Service._migratePrefs(); 1.19 + 1.20 + do_check_eq("Warn", Svc.Prefs.get("log.appender.file.level")); 1.21 + do_check_true(Svc.Prefs.get("log.appender.file.logOnSuccess")); 1.22 + do_check_eq(Svc.Prefs.get("log.appender.debugLog"), undefined); 1.23 + do_check_eq(Svc.Prefs.get("log.appender.debugLog.enabled"), undefined); 1.24 +}; 1.25 + 1.26 +function run_test() { 1.27 + _("Set some prefs on the old branch"); 1.28 + let globalPref = new Preferences(""); 1.29 + globalPref.set("extensions.weave.hello", "world"); 1.30 + globalPref.set("extensions.weave.number", 42); 1.31 + globalPref.set("extensions.weave.yes", true); 1.32 + globalPref.set("extensions.weave.no", false); 1.33 + 1.34 + _("Make sure the old prefs are there"); 1.35 + do_check_eq(globalPref.get("extensions.weave.hello"), "world"); 1.36 + do_check_eq(globalPref.get("extensions.weave.number"), 42); 1.37 + do_check_eq(globalPref.get("extensions.weave.yes"), true); 1.38 + do_check_eq(globalPref.get("extensions.weave.no"), false); 1.39 + 1.40 + _("New prefs shouldn't exist yet"); 1.41 + do_check_eq(globalPref.get("services.sync.hello"), null); 1.42 + do_check_eq(globalPref.get("services.sync.number"), null); 1.43 + do_check_eq(globalPref.get("services.sync.yes"), null); 1.44 + do_check_eq(globalPref.get("services.sync.no"), null); 1.45 + 1.46 + _("Loading service should migrate"); 1.47 + Cu.import("resource://services-sync/service.js"); 1.48 + do_check_eq(globalPref.get("services.sync.hello"), "world"); 1.49 + do_check_eq(globalPref.get("services.sync.number"), 42); 1.50 + do_check_eq(globalPref.get("services.sync.yes"), true); 1.51 + do_check_eq(globalPref.get("services.sync.no"), false); 1.52 + do_check_eq(globalPref.get("extensions.weave.hello"), null); 1.53 + do_check_eq(globalPref.get("extensions.weave.number"), null); 1.54 + do_check_eq(globalPref.get("extensions.weave.yes"), null); 1.55 + do_check_eq(globalPref.get("extensions.weave.no"), null); 1.56 + 1.57 + _("Migrating should set a pref to make sure to not re-migrate"); 1.58 + do_check_true(globalPref.get("services.sync.migrated")); 1.59 + 1.60 + _("Make sure re-migrate doesn't happen"); 1.61 + globalPref.set("extensions.weave.tooLate", "already migrated!"); 1.62 + do_check_eq(globalPref.get("extensions.weave.tooLate"), "already migrated!"); 1.63 + do_check_eq(globalPref.get("services.sync.tooLate"), null); 1.64 + Service._migratePrefs(); 1.65 + do_check_eq(globalPref.get("extensions.weave.tooLate"), "already migrated!"); 1.66 + do_check_eq(globalPref.get("services.sync.tooLate"), null); 1.67 + 1.68 + _("Clearing out pref changes for other tests"); 1.69 + globalPref.resetBranch("extensions.weave."); 1.70 + globalPref.resetBranch("services.sync."); 1.71 + 1.72 + test_migrate_logging(); 1.73 +}