OLD | NEW |
1 (function() | |
2 { | 1 { |
3 module("Preferences", | 2 module("Preferences", |
4 { | 3 { |
5 setup: function() | 4 setup: function() |
6 { | 5 { |
7 preparePrefs.call(this); | 6 preparePrefs.call(this); |
8 }, | 7 }, |
9 | 8 |
10 teardown: function() | 9 teardown: function() |
11 { | 10 { |
12 restorePrefs.call(this); | 11 restorePrefs.call(this); |
13 } | 12 } |
14 }); | 13 }); |
15 | 14 |
16 function checkPrefExists(name, expectedValue, description, assert) | 15 function checkPrefExists(name, expectedValue, description, assert) |
17 { | 16 { |
18 let done = assert.async(); | 17 let done = assert.async(); |
19 let key = "pref:" + name; | 18 let key = "pref:" + name; |
20 chrome.storage.local.get(key, function(items) | 19 chrome.storage.local.get(key, items => |
21 { | 20 { |
22 equal(key in items, expectedValue, description); | 21 equal(key in items, expectedValue, description); |
23 done(); | 22 done(); |
24 }); | 23 }); |
25 } | 24 } |
26 | 25 |
27 function checkPref(name, expectedValue, description, assert) | 26 function checkPref(name, expectedValue, description, assert) |
28 { | 27 { |
29 let done = assert.async(); | 28 let done = assert.async(); |
30 let key = "pref:" + name; | 29 let key = "pref:" + name; |
31 chrome.storage.local.get(key, function(items) | 30 chrome.storage.local.get(key, items => |
32 { | 31 { |
33 deepEqual(items[key], expectedValue, description); | 32 deepEqual(items[key], expectedValue, description); |
34 done(); | 33 done(); |
35 }); | 34 }); |
36 } | 35 } |
37 | 36 |
38 test("Numerical pref", function(assert) | 37 test("Numerical pref", assert => |
39 { | 38 { |
40 Prefs.patternsbackups = 5; | 39 Prefs.patternsbackups = 5; |
41 equal(Prefs.patternsbackups, 5, "Prefs object returns the correct value afte
r setting pref to default value"); | 40 equal(Prefs.patternsbackups, 5, "Prefs object returns the correct value afte
r setting pref to default value"); |
42 checkPrefExists("patternsbackups", false, "User-defined pref has been remove
d", assert); | 41 checkPrefExists("patternsbackups", false, "User-defined pref has been remove
d", assert); |
43 Prefs.patternsbackups = 12; | 42 Prefs.patternsbackups = 12; |
44 equal(Prefs.patternsbackups, 12, "Prefs object returns the correct value aft
er setting pref to non-default value"); | 43 equal(Prefs.patternsbackups, 12, "Prefs object returns the correct value aft
er setting pref to non-default value"); |
45 checkPrefExists("patternsbackups", true, "User-defined pref has been created
", assert); | 44 checkPrefExists("patternsbackups", true, "User-defined pref has been created
", assert); |
46 checkPref("patternsbackups", 12, "Value has been written", assert); | 45 checkPref("patternsbackups", 12, "Value has been written", assert); |
47 }); | 46 }); |
48 | 47 |
49 test("Boolean pref", function(assert) | 48 test("Boolean pref", assert => |
50 { | 49 { |
51 Prefs.enabled = true; | 50 Prefs.enabled = true; |
52 equal(Prefs.enabled, true, "Prefs object returns the correct value after set
ting pref to default value"); | 51 equal(Prefs.enabled, true, "Prefs object returns the correct value after set
ting pref to default value"); |
53 checkPrefExists("enabled", false, "User-defined pref has been removed", asse
rt); | 52 checkPrefExists("enabled", false, "User-defined pref has been removed", asse
rt); |
54 Prefs.enabled = false; | 53 Prefs.enabled = false; |
55 equal(Prefs.enabled, false, "Prefs object returns the correct value after se
tting pref to non-default value"); | 54 equal(Prefs.enabled, false, "Prefs object returns the correct value after se
tting pref to non-default value"); |
56 checkPrefExists("enabled", true, "User-defined pref has been created", asser
t); | 55 checkPrefExists("enabled", true, "User-defined pref has been created", asser
t); |
57 checkPref("enabled", false, "Value has been written", assert); | 56 checkPref("enabled", false, "Value has been written", assert); |
58 }); | 57 }); |
59 | 58 |
60 test("String pref", function(assert) | 59 test("String pref", assert => |
61 { | 60 { |
62 let defaultValue = "https://notification.adblockplus.org/notification.json"; | 61 let defaultValue = "https://notification.adblockplus.org/notification.json"; |
63 Prefs.notificationurl = defaultValue; | 62 Prefs.notificationurl = defaultValue; |
64 equal(Prefs.notificationurl, defaultValue, "Prefs object returns the correct
value after setting pref to default value"); | 63 equal(Prefs.notificationurl, defaultValue, "Prefs object returns the correct
value after setting pref to default value"); |
65 checkPrefExists("notificationurl", false, "User-defined pref has been remove
d", assert); | 64 checkPrefExists("notificationurl", false, "User-defined pref has been remove
d", assert); |
66 | 65 |
67 let newValue = "https://notification.adblockplus.org/foo\u1234bar.json"; | 66 let newValue = "https://notification.adblockplus.org/foo\u1234bar.json"; |
68 Prefs.notificationurl = newValue; | 67 Prefs.notificationurl = newValue; |
69 equal(Prefs.notificationurl, newValue, "Prefs object returns the correct val
ue after setting pref to non-default value"); | 68 equal(Prefs.notificationurl, newValue, "Prefs object returns the correct val
ue after setting pref to non-default value"); |
70 checkPrefExists("notificationurl", true, "User-defined pref has been created
", assert); | 69 checkPrefExists("notificationurl", true, "User-defined pref has been created
", assert); |
71 checkPref("notificationurl", newValue, "Value has been written", assert); | 70 checkPref("notificationurl", newValue, "Value has been written", assert); |
72 }); | 71 }); |
73 | 72 |
74 test("Object pref (complete replacement)", function(assert) | 73 test("Object pref (complete replacement)", assert => |
75 { | 74 { |
76 Prefs.notificationdata = {}; | 75 Prefs.notificationdata = {}; |
77 deepEqual(Prefs.notificationdata, {}, "Prefs object returns the correct valu
e after setting pref to default value"); | 76 deepEqual(Prefs.notificationdata, {}, "Prefs object returns the correct valu
e after setting pref to default value"); |
78 | 77 |
79 let newValue = {foo:1, bar: "adsf\u1234"}; | 78 let newValue = {foo:1, bar: "adsf\u1234"}; |
80 Prefs.notificationdata = newValue; | 79 Prefs.notificationdata = newValue; |
81 equal(Prefs.notificationdata, newValue, "Prefs object returns the correct va
lue after setting pref to non-default value"); | 80 equal(Prefs.notificationdata, newValue, "Prefs object returns the correct va
lue after setting pref to non-default value"); |
82 checkPrefExists("notificationdata", true, "User-defined pref has been create
d", assert); | 81 checkPrefExists("notificationdata", true, "User-defined pref has been create
d", assert); |
83 checkPref("notificationdata", newValue, "Value has been written", assert); | 82 checkPref("notificationdata", newValue, "Value has been written", assert); |
84 }); | 83 }); |
85 | 84 |
86 test("Property-wise modification", function(assert) | 85 test("Property-wise modification", assert => |
87 { | 86 { |
88 Prefs.notificationdata = {}; | 87 Prefs.notificationdata = {}; |
89 | 88 |
90 Prefs.notificationdata.foo = 1; | 89 Prefs.notificationdata.foo = 1; |
91 Prefs.notificationdata.bar = 2; | 90 Prefs.notificationdata.bar = 2; |
92 Prefs.notificationdata = JSON.parse(JSON.stringify(Prefs.notificationdata)); | 91 Prefs.notificationdata = JSON.parse(JSON.stringify(Prefs.notificationdata)); |
93 deepEqual(Prefs.notificationdata, {foo:1, bar: 2}, "Prefs object returns the
correct value after setting pref to non-default value"); | 92 deepEqual(Prefs.notificationdata, {foo:1, bar: 2}, "Prefs object returns the
correct value after setting pref to non-default value"); |
94 checkPrefExists("notificationdata", true, "User-defined pref has been create
d", assert); | 93 checkPrefExists("notificationdata", true, "User-defined pref has been create
d", assert); |
95 checkPref("notificationdata", {foo:1, bar: 2}, "Value has been written", ass
ert); | 94 checkPref("notificationdata", {foo:1, bar: 2}, "Value has been written", ass
ert); |
96 | 95 |
97 delete Prefs.notificationdata.foo; | 96 delete Prefs.notificationdata.foo; |
98 delete Prefs.notificationdata.bar; | 97 delete Prefs.notificationdata.bar; |
99 Prefs.notificationdata = JSON.parse(JSON.stringify(Prefs.notificationdata)); | 98 Prefs.notificationdata = JSON.parse(JSON.stringify(Prefs.notificationdata)); |
100 deepEqual(Prefs.notificationdata, {}, "Prefs object returns the correct valu
e after setting pref to default value"); | 99 deepEqual(Prefs.notificationdata, {}, "Prefs object returns the correct valu
e after setting pref to default value"); |
101 }); | 100 }); |
102 })(); | 101 } |
OLD | NEW |