|
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 } |