Index: test/notification.js |
diff --git a/test/notification.js b/test/notification.js |
index 4a5bc61d1baf99953c245d4441cb02c09944d909..ab673ca7f3cb598ef616179d886ccdbcc64d8da8 100644 |
--- a/test/notification.js |
+++ b/test/notification.js |
@@ -140,6 +140,30 @@ exports.testNoType = function(test) |
}).catch(unexpectedError.bind(test)).then(() => test.done()); |
}; |
+function testTargetSelectionFunc(propName, value, result) |
+{ |
+ return function(test) |
+ { |
+ let targetInfo = {}; |
+ targetInfo[propName] = value; |
+ |
+ let information = { |
+ id: 1, |
+ type: "information", |
+ message: {"en-US": "Information"}, |
+ targets: [targetInfo] |
+ }; |
+ |
+ registerHandler.call(this, [information]); |
+ this.runScheduledTasks(1).then(() => |
+ { |
+ let expected = (result ? [information] : []); |
+ test.deepEqual(showNotifications(), expected, "Selected notification for " + JSON.stringify(information.targets)); |
+ test.deepEqual(showNotifications(), [], "No notification on second call"); |
+ }).catch(unexpectedError.bind(test)).then(() => test.done()); |
+ }; |
+} |
+ |
exports.testTargetSelection = {}; |
for (let [propName, value, result] of [ |
@@ -174,29 +198,40 @@ for (let [propName, value, result] of [ |
["platformMaxVersion", "12.0", true], |
["platformMaxVersion", "12", true], |
["platformMaxVersion", "13", true], |
- ["platformMaxVersion", "11", false] |
+ ["platformMaxVersion", "11", false], |
+ ["blockedTotalMin", "11", false], |
+ ["blockedTotalMin", "10", true], |
+ ["blockedTotalMax", "10", true], |
+ ["blockedTotalMax", "1", false], |
+ ["locales", ["en-US"], true], |
+ ["locales", ["en-US", "de-DE"], true], |
+ ["locales", ["de-DE"], false], |
+ ["locales", ["en-GB", "de-DE"], false] |
]) |
{ |
- exports.testTargetSelection[`${propName}=${value}`] = function(test) |
- { |
- let targetInfo = {}; |
- targetInfo[propName] = value; |
+ exports.testTargetSelection[`${propName}=${value}`] = testTargetSelectionFunc(propName, value, result); |
+} |
- let information = { |
- id: 1, |
- type: "information", |
- message: {"en-US": "Information"}, |
- targets: [targetInfo] |
- }; |
+exports.testTargetSelectionNoShowStats = { |
- registerHandler.call(this, [information]); |
- this.runScheduledTasks(1).then(() => |
- { |
- let expected = (result ? [information] : []); |
- test.deepEqual(showNotifications(), expected, "Selected notification for " + JSON.stringify(information.targets)); |
- test.deepEqual(showNotifications(), [], "No notification on second call"); |
- }).catch(unexpectedError.bind(test)).then(() => test.done()); |
- }; |
+ setUp(callback) |
+ { |
+ this.show_statsinpopup_orig = Prefs.show_statsinpopup; |
+ Prefs.show_statsinpopup = false; |
+ callback(); |
+ }, |
+ tearDown(callback) |
+ { |
+ Prefs.show_statsinpopup = this.show_statsinpopup_orig; |
+ callback(); |
+ } |
+}; |
+for (let [propName, value, result] of [ |
+ ["blockedTotalMin", "10", false], |
+ ["blockedTotalMax", "10", false] |
+]) |
+{ |
+ exports.testTargetSelectionNoShowStats[`${propName}=${value}`] = testTargetSelectionFunc(propName, value, result); |
} |
exports.testMultipleTargets = {}; |
@@ -213,7 +248,8 @@ for (let [[propName1, value1, result1], [propName2, value2, result2]] of pairs([ |
["platform", "chromium", true], |
["platform", "gecko", false], |
["platformMinVersion", "12", true], |
- ["platformMinVersion", "13", false] |
+ ["platformMinVersion", "13", false], |
+ ["unkown", "unknown", false] |
])) |
{ |
exports.testMultipleTargets[`${propName1}=${value1},${propName2}=${value2}`] = function(test) |