services/sync/tests/unit/test_service_migratePrefs.js

changeset 0
6474c204b198
     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 +}

mercurial