| LEFT | RIGHT |
| 1 /* | 1 /* |
| 2 * This file is part of Adblock Plus <https://adblockplus.org/>, | 2 * This file is part of Adblock Plus <https://adblockplus.org/>, |
| 3 * Copyright (C) 2006-2017 eyeo GmbH | 3 * Copyright (C) 2006-2017 eyeo GmbH |
| 4 * | 4 * |
| 5 * Adblock Plus is free software: you can redistribute it and/or modify | 5 * Adblock Plus is free software: you can redistribute it and/or modify |
| 6 * it under the terms of the GNU General Public License version 3 as | 6 * it under the terms of the GNU General Public License version 3 as |
| 7 * published by the Free Software Foundation. | 7 * published by the Free Software Foundation. |
| 8 * | 8 * |
| 9 * Adblock Plus is distributed in the hope that it will be useful, | 9 * Adblock Plus is distributed in the hope that it will be useful, |
| 10 * but WITHOUT ANY WARRANTY; without even the implied warranty of | 10 * but WITHOUT ANY WARRANTY; without even the implied warranty of |
| (...skipping 121 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 132 message: {"en-US": "Information"} | 132 message: {"en-US": "Information"} |
| 133 }; | 133 }; |
| 134 | 134 |
| 135 registerHandler.call(this, [information]); | 135 registerHandler.call(this, [information]); |
| 136 this.runScheduledTasks(1).then(() => | 136 this.runScheduledTasks(1).then(() => |
| 137 { | 137 { |
| 138 test.deepEqual(showNotifications(), [information], "The notification is show
n"); | 138 test.deepEqual(showNotifications(), [information], "The notification is show
n"); |
| 139 test.deepEqual(showNotifications(), [], "Notification is treated as type inf
ormation"); | 139 test.deepEqual(showNotifications(), [], "Notification is treated as type inf
ormation"); |
| 140 }).catch(unexpectedError.bind(test)).then(() => test.done()); | 140 }).catch(unexpectedError.bind(test)).then(() => test.done()); |
| 141 }; | 141 }; |
| 142 |
| 143 function testTargetSelectionFunc(propName, value, result) |
| 144 { |
| 145 return function(test) |
| 146 { |
| 147 let targetInfo = {}; |
| 148 targetInfo[propName] = value; |
| 149 |
| 150 let information = { |
| 151 id: 1, |
| 152 type: "information", |
| 153 message: {"en-US": "Information"}, |
| 154 targets: [targetInfo] |
| 155 }; |
| 156 |
| 157 registerHandler.call(this, [information]); |
| 158 this.runScheduledTasks(1).then(() => |
| 159 { |
| 160 let expected = (result ? [information] : []); |
| 161 test.deepEqual(showNotifications(), expected, "Selected notification for "
+ JSON.stringify(information.targets)); |
| 162 test.deepEqual(showNotifications(), [], "No notification on second call"); |
| 163 }).catch(unexpectedError.bind(test)).then(() => test.done()); |
| 164 }; |
| 165 } |
| 142 | 166 |
| 143 exports.testTargetSelection = {}; | 167 exports.testTargetSelection = {}; |
| 144 | 168 |
| 145 for (let [propName, value, result] of [ | 169 for (let [propName, value, result] of [ |
| 146 ["extension", "adblockpluschrome", true], | 170 ["extension", "adblockpluschrome", true], |
| 147 ["extension", "adblockplus", false], | 171 ["extension", "adblockplus", false], |
| 148 ["extension", "adblockpluschrome2", false], | 172 ["extension", "adblockpluschrome2", false], |
| 149 ["extensionMinVersion", "1.4", true], | 173 ["extensionMinVersion", "1.4", true], |
| 150 ["extensionMinVersion", "1.4.1", true], | 174 ["extensionMinVersion", "1.4.1", true], |
| 151 ["extensionMinVersion", "1.5", false], | 175 ["extensionMinVersion", "1.5", false], |
| (...skipping 26 matching lines...) Expand all Loading... |
| 178 ["blockedTotalMin", "11", false], | 202 ["blockedTotalMin", "11", false], |
| 179 ["blockedTotalMin", "10", true], | 203 ["blockedTotalMin", "10", true], |
| 180 ["blockedTotalMax", "10", true], | 204 ["blockedTotalMax", "10", true], |
| 181 ["blockedTotalMax", "1", false], | 205 ["blockedTotalMax", "1", false], |
| 182 ["locales", ["en-US"], true], | 206 ["locales", ["en-US"], true], |
| 183 ["locales", ["en-US", "de-DE"], true], | 207 ["locales", ["en-US", "de-DE"], true], |
| 184 ["locales", ["de-DE"], false], | 208 ["locales", ["de-DE"], false], |
| 185 ["locales", ["en-GB", "de-DE"], false] | 209 ["locales", ["en-GB", "de-DE"], false] |
| 186 ]) | 210 ]) |
| 187 { | 211 { |
| 188 exports.testTargetSelection[`${propName}=${value}`] = function(test) | 212 exports.testTargetSelection[`${propName}=${value}`] = testTargetSelectionFunc(
propName, value, result); |
| 189 { | 213 } |
| 190 let targetInfo = {}; | 214 |
| 191 targetInfo[propName] = value; | 215 exports.testTargetSelectionNoShowStats = { |
| 192 | 216 |
| 193 let information = { | 217 setUp(callback) |
| 194 id: 1, | 218 { |
| 195 type: "information", | 219 this.show_statsinpopup_orig = Prefs.show_statsinpopup; |
| 196 message: {"en-US": "Information"}, | 220 Prefs.show_statsinpopup = false; |
| 197 targets: [targetInfo] | 221 callback(); |
| 198 }; | 222 }, |
| 199 | 223 tearDown(callback) |
| 200 registerHandler.call(this, [information]); | 224 { |
| 201 this.runScheduledTasks(1).then(() => | 225 Prefs.show_statsinpopup = this.show_statsinpopup_orig; |
| 202 { | 226 callback(); |
| 203 let expected = (result ? [information] : []); | 227 } |
| 204 test.deepEqual(showNotifications(), expected, "Selected notification for "
+ JSON.stringify(information.targets)); | 228 }; |
| 205 test.deepEqual(showNotifications(), [], "No notification on second call"); | 229 for (let [propName, value, result] of [ |
| 206 }).catch(unexpectedError.bind(test)).then(() => test.done()); | 230 ["blockedTotalMin", "10", false], |
| 207 }; | 231 ["blockedTotalMax", "10", false] |
| 232 ]) |
| 233 { |
| 234 exports.testTargetSelectionNoShowStats[`${propName}=${value}`] = testTargetSel
ectionFunc(propName, value, result); |
| 208 } | 235 } |
| 209 | 236 |
| 210 exports.testMultipleTargets = {}; | 237 exports.testMultipleTargets = {}; |
| 211 | 238 |
| 212 for (let [[propName1, value1, result1], [propName2, value2, result2]] of pairs([ | 239 for (let [[propName1, value1, result1], [propName2, value2, result2]] of pairs([ |
| 213 ["extension", "adblockpluschrome", true], | 240 ["extension", "adblockpluschrome", true], |
| 214 ["extension", "adblockplus", false], | 241 ["extension", "adblockplus", false], |
| 215 ["extensionMinVersion", "1.4", true], | 242 ["extensionMinVersion", "1.4", true], |
| 216 ["extensionMinVersion", "1.5", false], | 243 ["extensionMinVersion", "1.5", false], |
| 217 ["application", "chrome", true], | 244 ["application", "chrome", true], |
| (...skipping 306 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 524 test.done(); | 551 test.done(); |
| 525 }; | 552 }; |
| 526 | 553 |
| 527 exports.testMissingTranslation = function(test) | 554 exports.testMissingTranslation = function(test) |
| 528 { | 555 { |
| 529 let notification = {message: {"en-US": "en-US"}}; | 556 let notification = {message: {"en-US": "en-US"}}; |
| 530 let texts = Notification.getLocalizedTexts(notification, "fr"); | 557 let texts = Notification.getLocalizedTexts(notification, "fr"); |
| 531 test.equal(texts.message, "en-US"); | 558 test.equal(texts.message, "en-US"); |
| 532 test.done(); | 559 test.done(); |
| 533 }; | 560 }; |
| LEFT | RIGHT |