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-present eyeo GmbH | 3 * Copyright (C) 2006-present 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 54 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
65 if (knownSubscriptions) | 65 if (knownSubscriptions) |
66 { | 66 { |
67 test.deepEqual([...Subscription.knownSubscriptions.values()], | 67 test.deepEqual([...Subscription.knownSubscriptions.values()], |
68 knownSubscriptions, testMessage); | 68 knownSubscriptions, testMessage); |
69 } | 69 } |
70 } | 70 } |
71 | 71 |
72 function compareFiltersList(test, testMessage, list) | 72 function compareFiltersList(test, testMessage, list) |
73 { | 73 { |
74 let result = [...filterStorage.subscriptions()].map( | 74 let result = [...filterStorage.subscriptions()].map( |
75 subscription => subscription.filters); | 75 subscription => [...subscription.filterText()]); |
76 test.deepEqual(result, list, testMessage); | 76 test.deepEqual(result, list, testMessage); |
77 } | 77 } |
78 | 78 |
79 function compareFilterSubscriptions(test, testMessage, filter, list) | 79 function compareFilterSubscriptions(test, testMessage, filter, list) |
80 { | 80 { |
81 let result = [...filter.subscriptions()].map(subscription => subscription.url)
; | 81 let result = [...filter.subscriptions()].map(subscription => subscription.url)
; |
82 let expected = list.map(subscription => subscription.url); | 82 let expected = list.map(subscription => subscription.url); |
83 test.deepEqual(result, expected, testMessage); | 83 test.deepEqual(result, expected, testMessage); |
84 } | 84 } |
85 | 85 |
(...skipping 197 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
283 filterStorage.addFilter(Filter.fromText("!foobar"), subscription2, 0); | 283 filterStorage.addFilter(Filter.fromText("!foobar"), subscription2, 0); |
284 compareFiltersList(test, "Adding filter to an explicit subscription with posit
ion", [["foo", "foo"], ["!foobar", "@@bar", "foo##bar", "foo#@#bar"], ["!foobar"
, "foo"]]); | 284 compareFiltersList(test, "Adding filter to an explicit subscription with posit
ion", [["foo", "foo"], ["!foobar", "@@bar", "foo##bar", "foo#@#bar"], ["!foobar"
, "foo"]]); |
285 test.deepEqual(changes, ["filter.added !foobar"], "Received changes"); | 285 test.deepEqual(changes, ["filter.added !foobar"], "Received changes"); |
286 | 286 |
287 test.done(); | 287 test.done(); |
288 }; | 288 }; |
289 | 289 |
290 exports.testRemovingFilters = function(test) | 290 exports.testRemovingFilters = function(test) |
291 { | 291 { |
292 let subscription1 = Subscription.fromURL("~foo"); | 292 let subscription1 = Subscription.fromURL("~foo"); |
293 subscription1.filters = ["foo", "foo", "bar"]; | 293 subscription1.addFilter(Filter.fromText("foo")); |
| 294 subscription1.addFilter(Filter.fromText("foo")); |
| 295 subscription1.addFilter(Filter.fromText("bar")); |
294 | 296 |
295 let subscription2 = Subscription.fromURL("~bar"); | 297 let subscription2 = Subscription.fromURL("~bar"); |
296 subscription2.filters = ["foo", "bar", "foo"]; | 298 subscription2.addFilter(Filter.fromText("foo")); |
| 299 subscription2.addFilter(Filter.fromText("bar")); |
| 300 subscription2.addFilter(Filter.fromText("foo")); |
297 | 301 |
298 let subscription3 = Subscription.fromURL("http://test/"); | 302 let subscription3 = Subscription.fromURL("http://test/"); |
299 subscription3.filters = ["foo", "bar"]; | 303 subscription3.addFilter(Filter.fromText("foo")); |
| 304 subscription3.addFilter(Filter.fromText("bar")); |
300 | 305 |
301 filterStorage.addSubscription(subscription1); | 306 filterStorage.addSubscription(subscription1); |
302 filterStorage.addSubscription(subscription2); | 307 filterStorage.addSubscription(subscription2); |
303 filterStorage.addSubscription(subscription3); | 308 filterStorage.addSubscription(subscription3); |
304 | 309 |
305 let changes = []; | 310 let changes = []; |
306 function listener(action, filter) | 311 function listener(action, filter) |
307 { | 312 { |
308 if (action.indexOf("filter.") == 0) | 313 if (action.indexOf("filter.") == 0) |
309 changes.push(action + " " + filter.text); | 314 changes.push(action + " " + filter.text); |
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
342 filterStorage.removeFilter(Filter.fromText("bar")); | 347 filterStorage.removeFilter(Filter.fromText("bar")); |
343 compareFiltersList(test, "Remove of unknown filter", [[], ["foo"], ["foo", "ba
r"]]); | 348 compareFiltersList(test, "Remove of unknown filter", [[], ["foo"], ["foo", "ba
r"]]); |
344 test.deepEqual(changes, [], "Received changes"); | 349 test.deepEqual(changes, [], "Received changes"); |
345 | 350 |
346 test.done(); | 351 test.done(); |
347 }; | 352 }; |
348 | 353 |
349 exports.testMovingFilters = function(test) | 354 exports.testMovingFilters = function(test) |
350 { | 355 { |
351 let subscription1 = Subscription.fromURL("~foo"); | 356 let subscription1 = Subscription.fromURL("~foo"); |
352 subscription1.filters = ["foo", "bar", "bas", "foo"]; | 357 subscription1.addFilter(Filter.fromText("foo")); |
| 358 subscription1.addFilter(Filter.fromText("bar")); |
| 359 subscription1.addFilter(Filter.fromText("bas")); |
| 360 subscription1.addFilter(Filter.fromText("foo")); |
353 | 361 |
354 let subscription2 = Subscription.fromURL("http://test/"); | 362 let subscription2 = Subscription.fromURL("http://test/"); |
355 subscription2.filters = ["foo", "bar"]; | 363 subscription2.addFilter(Filter.fromText("foo")); |
| 364 subscription2.addFilter(Filter.fromText("bar")); |
356 | 365 |
357 filterStorage.addSubscription(subscription1); | 366 filterStorage.addSubscription(subscription1); |
358 filterStorage.addSubscription(subscription2); | 367 filterStorage.addSubscription(subscription2); |
359 | 368 |
360 let changes = []; | 369 let changes = []; |
361 function listener(action, filter) | 370 function listener(action, filter) |
362 { | 371 { |
363 if (action.indexOf("filter.") == 0) | 372 if (action.indexOf("filter.") == 0) |
364 changes.push(action + " " + filter.text); | 373 changes.push(action + " " + filter.text); |
365 } | 374 } |
(...skipping 77 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
443 test.done(); | 452 test.done(); |
444 }; | 453 }; |
445 | 454 |
446 exports.testFilterSubscriptionRelationship = function(test) | 455 exports.testFilterSubscriptionRelationship = function(test) |
447 { | 456 { |
448 let filter1 = Filter.fromText("filter1"); | 457 let filter1 = Filter.fromText("filter1"); |
449 let filter2 = Filter.fromText("filter2"); | 458 let filter2 = Filter.fromText("filter2"); |
450 let filter3 = Filter.fromText("filter3"); | 459 let filter3 = Filter.fromText("filter3"); |
451 | 460 |
452 let subscription1 = Subscription.fromURL("http://test1/"); | 461 let subscription1 = Subscription.fromURL("http://test1/"); |
453 subscription1.filters = [filter1.text, filter2.text]; | 462 subscription1.addFilter(filter1); |
| 463 subscription1.addFilter(filter2); |
454 | 464 |
455 let subscription2 = Subscription.fromURL("http://test2/"); | 465 let subscription2 = Subscription.fromURL("http://test2/"); |
456 subscription2.filters = [filter2.text, filter3.text]; | 466 subscription2.addFilter(filter2); |
| 467 subscription2.addFilter(filter3); |
457 | 468 |
458 let subscription3 = Subscription.fromURL("http://test3/"); | 469 let subscription3 = Subscription.fromURL("http://test3/"); |
459 subscription3.filters = [filter1.text, filter2.text, filter3.text]; | 470 subscription3.addFilter(filter1); |
| 471 subscription3.addFilter(filter2); |
| 472 subscription3.addFilter(filter3); |
460 | 473 |
461 compareFilterSubscriptions(test, "Initial filter1 subscriptions", filter1, [])
; | 474 compareFilterSubscriptions(test, "Initial filter1 subscriptions", filter1, [])
; |
462 compareFilterSubscriptions(test, "Initial filter2 subscriptions", filter2, [])
; | 475 compareFilterSubscriptions(test, "Initial filter2 subscriptions", filter2, [])
; |
463 compareFilterSubscriptions(test, "Initial filter3 subscriptions", filter3, [])
; | 476 compareFilterSubscriptions(test, "Initial filter3 subscriptions", filter3, [])
; |
464 | 477 |
465 filterStorage.addSubscription(subscription1); | 478 filterStorage.addSubscription(subscription1); |
466 | 479 |
467 compareFilterSubscriptions(test, "filter1 subscriptions after adding http://te
st1/", filter1, [subscription1]); | 480 compareFilterSubscriptions(test, "filter1 subscriptions after adding http://te
st1/", filter1, [subscription1]); |
468 compareFilterSubscriptions(test, "filter2 subscriptions after adding http://te
st1/", filter2, [subscription1]); | 481 compareFilterSubscriptions(test, "filter2 subscriptions after adding http://te
st1/", filter2, [subscription1]); |
469 compareFilterSubscriptions(test, "filter3 subscriptions after adding http://te
st1/", filter3, []); | 482 compareFilterSubscriptions(test, "filter3 subscriptions after adding http://te
st1/", filter3, []); |
(...skipping 29 matching lines...) Expand all Loading... |
499 compareFilterSubscriptions(test, "filter3 subscriptions after updating http://
test3/ filters", filter3, [subscription2]); | 512 compareFilterSubscriptions(test, "filter3 subscriptions after updating http://
test3/ filters", filter3, [subscription2]); |
500 | 513 |
501 filterStorage.removeSubscription(subscription3); | 514 filterStorage.removeSubscription(subscription3); |
502 | 515 |
503 compareFilterSubscriptions(test, "filter1 subscriptions after removing http://
test3/", filter1, []); | 516 compareFilterSubscriptions(test, "filter1 subscriptions after removing http://
test3/", filter1, []); |
504 compareFilterSubscriptions(test, "filter2 subscriptions after removing http://
test3/", filter2, [subscription2]); | 517 compareFilterSubscriptions(test, "filter2 subscriptions after removing http://
test3/", filter2, [subscription2]); |
505 compareFilterSubscriptions(test, "filter3 subscriptions after removing http://
test3/", filter3, [subscription2]); | 518 compareFilterSubscriptions(test, "filter3 subscriptions after removing http://
test3/", filter3, [subscription2]); |
506 | 519 |
507 test.done(); | 520 test.done(); |
508 }; | 521 }; |
LEFT | RIGHT |