services/sync/tests/unit/test_service_migratePrefs.js

branch
TOR_BUG_9701
changeset 15
b8a032363ba2
equal deleted inserted replaced
-1:000000000000 0:f9e71f8bbbe9
1 /* Any copyright is dedicated to the Public Domain.
2 http://creativecommons.org/publicdomain/zero/1.0/ */
3
4 Cu.import("resource://gre/modules/Preferences.jsm");
5 Cu.import("resource://services-sync/util.js");
6
7 function test_migrate_logging() {
8 _("Testing log pref migration.");
9 Svc.Prefs.set("log.appender.debugLog", "Warn");
10 Svc.Prefs.set("log.appender.debugLog.enabled", true);
11 do_check_true(Svc.Prefs.get("log.appender.debugLog.enabled"));
12 do_check_eq(Svc.Prefs.get("log.appender.file.level"), "Trace");
13 do_check_eq(Svc.Prefs.get("log.appender.file.logOnSuccess"), false);
14
15 Service._migratePrefs();
16
17 do_check_eq("Warn", Svc.Prefs.get("log.appender.file.level"));
18 do_check_true(Svc.Prefs.get("log.appender.file.logOnSuccess"));
19 do_check_eq(Svc.Prefs.get("log.appender.debugLog"), undefined);
20 do_check_eq(Svc.Prefs.get("log.appender.debugLog.enabled"), undefined);
21 };
22
23 function run_test() {
24 _("Set some prefs on the old branch");
25 let globalPref = new Preferences("");
26 globalPref.set("extensions.weave.hello", "world");
27 globalPref.set("extensions.weave.number", 42);
28 globalPref.set("extensions.weave.yes", true);
29 globalPref.set("extensions.weave.no", false);
30
31 _("Make sure the old prefs are there");
32 do_check_eq(globalPref.get("extensions.weave.hello"), "world");
33 do_check_eq(globalPref.get("extensions.weave.number"), 42);
34 do_check_eq(globalPref.get("extensions.weave.yes"), true);
35 do_check_eq(globalPref.get("extensions.weave.no"), false);
36
37 _("New prefs shouldn't exist yet");
38 do_check_eq(globalPref.get("services.sync.hello"), null);
39 do_check_eq(globalPref.get("services.sync.number"), null);
40 do_check_eq(globalPref.get("services.sync.yes"), null);
41 do_check_eq(globalPref.get("services.sync.no"), null);
42
43 _("Loading service should migrate");
44 Cu.import("resource://services-sync/service.js");
45 do_check_eq(globalPref.get("services.sync.hello"), "world");
46 do_check_eq(globalPref.get("services.sync.number"), 42);
47 do_check_eq(globalPref.get("services.sync.yes"), true);
48 do_check_eq(globalPref.get("services.sync.no"), false);
49 do_check_eq(globalPref.get("extensions.weave.hello"), null);
50 do_check_eq(globalPref.get("extensions.weave.number"), null);
51 do_check_eq(globalPref.get("extensions.weave.yes"), null);
52 do_check_eq(globalPref.get("extensions.weave.no"), null);
53
54 _("Migrating should set a pref to make sure to not re-migrate");
55 do_check_true(globalPref.get("services.sync.migrated"));
56
57 _("Make sure re-migrate doesn't happen");
58 globalPref.set("extensions.weave.tooLate", "already migrated!");
59 do_check_eq(globalPref.get("extensions.weave.tooLate"), "already migrated!");
60 do_check_eq(globalPref.get("services.sync.tooLate"), null);
61 Service._migratePrefs();
62 do_check_eq(globalPref.get("extensions.weave.tooLate"), "already migrated!");
63 do_check_eq(globalPref.get("services.sync.tooLate"), null);
64
65 _("Clearing out pref changes for other tests");
66 globalPref.resetBranch("extensions.weave.");
67 globalPref.resetBranch("services.sync.");
68
69 test_migrate_logging();
70 }

mercurial