Rietveld Code Review Tool
Help | Bug tracker | Discussion group | Source code

Side by Side Diff: chrome/content/tests/notification.js

Issue 29321051: Issue 2715 - Speed up notification target tests (Closed)
Patch Set: Created June 24, 2015, 7:06 a.m.
Left:
Right:
Use n/p to move between diff chunks; N/P to move between comments.
Jump to:
View unified diff | Download patch
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 (function() 1 (function()
2 { 2 {
3 let testRunner = null; 3 let testRunner = null;
4 let randomResult = 0.5; 4 let randomResult = 0.5;
5 5
6 let originalInfo; 6 let originalInfo;
7 let info = require("info"); 7 let info = require("info");
8 8
9 function showNotifications(url) 9 function showNotifications(url)
10 { 10 {
(...skipping 205 matching lines...) Expand 10 before | Expand all | Expand 10 after
216 }); 216 });
217 217
218 Prefs.notificationdata = {}; 218 Prefs.notificationdata = {};
219 registerHandler([information]); 219 registerHandler([information]);
220 testRunner.runScheduledTasks(1); 220 testRunner.runScheduledTasks(1);
221 221
222 let expected = (result ? [information] : []); 222 let expected = (result ? [information] : []);
223 deepEqual(showNotifications(), expected, "Selected notification for " + JS ON.stringify(information.targets)); 223 deepEqual(showNotifications(), expected, "Selected notification for " + JS ON.stringify(information.targets));
224 deepEqual(showNotifications(), [], "No notification on second call"); 224 deepEqual(showNotifications(), [], "No notification on second call");
225 } 225 }
226 });
227
228 test("Multiple targets", function()
229 {
230 let targets = [
231 ["extension", "adblockpluschrome", true],
232 ["extension", "adblockplus", false],
233 ["extensionMinVersion", "1.4", true],
234 ["extensionMinVersion", "1.5", false],
235 ["application", "chrome", true],
236 ["application", "firefox", false],
237 ["applicationMinVersion", "27", true],
238 ["applicationMinVersion", "28", false],
239 ["platform", "chromium", true],
240 ["platform", "gecko", false],
241 ["platformMinVersion", "12", true],
242 ["platformMinVersion", "13", false],
243 ];
226 244
227 function pairs(array) 245 function pairs(array)
228 { 246 {
229 for (let element1 of array) 247 for (let element1 of array)
230 for (let element2 of array) 248 for (let element2 of array)
231 yield [element1, element2]; 249 if (element1 != element2)
250 yield [element1, element2];
232 } 251 }
252
233 for (let [[propName1, value1, result1], [propName2, value2, result2]] in pai rs(targets)) 253 for (let [[propName1, value1, result1], [propName2, value2, result2]] in pai rs(targets))
234 { 254 {
235 let targetInfo1 = {}; 255 let targetInfo1 = {};
236 targetInfo1[propName1] = value1; 256 targetInfo1[propName1] = value1;
237 let targetInfo2 = {}; 257 let targetInfo2 = {};
238 targetInfo2[propName2] = value2; 258 targetInfo2[propName2] = value2;
239 259
240 let information = fixConstructors({ 260 let information = fixConstructors({
241 id: 1, 261 id: 1,
242 type: "information", 262 type: "information",
243 message: {"en-US": "Information"}, 263 message: {"en-US": "Information"},
244 targets: [targetInfo1, targetInfo2] 264 targets: [targetInfo1, targetInfo2]
245 }); 265 });
246 266
247 Prefs.notificationdata = {}; 267 Prefs.notificationdata = {};
248 registerHandler([information]); 268 registerHandler([information]);
249 testRunner.runScheduledTasks(1); 269 testRunner.runScheduledTasks(1);
250 270
251 let expected = (result1 || result2 ? [information] : []) 271 let expected = (result1 || result2 ? [information] : [])
252 deepEqual(showNotifications(), expected, "Selected notification for " + JS ON.stringify(information.targets)); 272 deepEqual(showNotifications(), expected, "Selected notification for " + JS ON.stringify(information.targets));
253 deepEqual(showNotifications(), [], "No notification on second call");
254
255 information = fixConstructors({
256 id: 1,
257 type: "information",
258 message: {"en-US": "Information"},
259 targets: [targetInfo1]
260 });
261 let critical = fixConstructors({
262 id: 2,
263 type: "critical",
264 message: {"en-US": "Critical"},
265 targets: [targetInfo2]
266 });
267
268 Prefs.notificationdata = {};
269 registerHandler([information, critical]);
270 testRunner.runScheduledTasks(1);
271
272 expected = (result2 ? [critical] : (result1 ? [information] : []));
273 deepEqual(showNotifications(), expected, "Selected notification for inform ation with " + JSON.stringify(information.targets) + " and critical with " + JSO N.stringify(critical.targets));
274 } 273 }
275 }); 274 });
276 275
277 test("Parameters sent", function() 276 test("Parameters sent", function()
278 { 277 {
279 Prefs.notificationdata = { 278 Prefs.notificationdata = {
280 data: { 279 data: {
281 version: "3" 280 version: "3"
282 }, 281 },
283 }; 282 };
(...skipping 194 matching lines...) Expand 10 before | Expand all | Expand 10 after
478 equal(texts.message, "fr"); 477 equal(texts.message, "fr");
479 }); 478 });
480 479
481 test("Missing translation", function() 480 test("Missing translation", function()
482 { 481 {
483 let notification = {message: {"en-US": "en-US"}}; 482 let notification = {message: {"en-US": "en-US"}};
484 let texts = Notification.getLocalizedTexts(notification, "fr"); 483 let texts = Notification.getLocalizedTexts(notification, "fr");
485 equal(texts.message, "en-US"); 484 equal(texts.message, "en-US");
486 }); 485 });
487 })(); 486 })();
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld