 Issue 29426559:
  Issue 5137 - [emscripten] Added basic filter storage implementation  (Closed) 
  Base URL: https://hg.adblockplus.org/adblockpluscore
    
  
    Issue 29426559:
  Issue 5137 - [emscripten] Added basic filter storage implementation  (Closed) 
  Base URL: https://hg.adblockplus.org/adblockpluscore| Left: | ||
| Right: | 
| 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-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 | 
| 11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | 11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | 
| 12 * GNU General Public License for more details. | 12 * GNU General Public License for more details. | 
| 13 * | 13 * | 
| (...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 58 { | 58 { | 
| 59 let subscription1 = Subscription.fromURL("http://test1/"); | 59 let subscription1 = Subscription.fromURL("http://test1/"); | 
| 60 let subscription2 = Subscription.fromURL("http://test2/"); | 60 let subscription2 = Subscription.fromURL("http://test2/"); | 
| 61 test.ok(!subscription1.listed, "First subscription not listed"); | 61 test.ok(!subscription1.listed, "First subscription not listed"); | 
| 62 test.ok(!subscription2.listed, "Second subscription not listed"); | 62 test.ok(!subscription2.listed, "Second subscription not listed"); | 
| 63 | 63 | 
| 64 let changes = []; | 64 let changes = []; | 
| 65 function listener(action, subscription) | 65 function listener(action, subscription) | 
| 66 { | 66 { | 
| 67 if (action.indexOf("subscription.") == 0) | 67 if (action.indexOf("subscription.") == 0) | 
| 68 changes.push(action + " " + subscription.url); | 68 changes.push(action + " " + subscription.url); | 
| 
sergei
2017/05/08 10:54:39
Is there any reason to not use arrays, changes.pus
 
Wladimir Palant
2017/05/08 12:55:41
This is code from the master branch adapted. But t
 | |
| 69 } | 69 } | 
| 70 FilterNotifier.addListener(listener); | 70 FilterNotifier.addListener(listener); | 
| 71 | 71 | 
| 72 compareSubscriptionList(test, "Initial state", []); | 72 compareSubscriptionList(test, "Initial state", []); | 
| 73 test.deepEqual(changes, [], "Received changes"); | 73 test.deepEqual(changes, [], "Received changes"); | 
| 74 | 74 | 
| 75 changes = []; | 75 changes = []; | 
| 76 FilterStorage.addSubscription(subscription1); | 76 FilterStorage.addSubscription(subscription1); | 
| 77 compareSubscriptionList(test, "Adding first subscription", [subscription1]); | 77 compareSubscriptionList(test, "Adding first subscription", [subscription1]); | 
| 78 test.deepEqual(changes, ["subscription.added http://test1/"], "Received change s"); | 78 test.deepEqual(changes, ["subscription.added http://test1/"], "Received change s"); | 
| (...skipping 166 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 245 filter.delete(); | 245 filter.delete(); | 
| 246 subscription.delete(); | 246 subscription.delete(); | 
| 247 } | 247 } | 
| 248 | 248 | 
| 249 { | 249 { | 
| 250 let subscription = Subscription.fromURL("~other"); | 250 let subscription = Subscription.fromURL("~other"); | 
| 251 FilterStorage.addSubscription(subscription); | 251 FilterStorage.addSubscription(subscription); | 
| 252 subscription.delete(); | 252 subscription.delete(); | 
| 253 } | 253 } | 
| 254 | 254 | 
| 255 test.deepEqual(Array.from(FilterStorage.subscriptions, s => s.isGeneric()), | |
| 256 [false, false, true], "SpecialSubscription.isGeneric() result"); | |
| 257 | |
| 255 changes = []; | 258 changes = []; | 
| 256 addFilter("foo##bar"); | 259 addFilter("foo##bar"); | 
| 257 compareFiltersList(test, "Adding hiding rule", [["foo"], ["@@bar", "foo##bar"] , []]); | 260 compareFiltersList(test, "Adding hiding rule", [["foo"], ["@@bar", "foo##bar"] , []]); | 
| 258 test.deepEqual(changes, ["filter.added foo##bar 1 1"], "Received changes"); | 261 test.deepEqual(changes, ["filter.added foo##bar 1 1"], "Received changes"); | 
| 259 | 262 | 
| 260 changes = []; | 263 changes = []; | 
| 261 addFilter("foo#@#bar"); | 264 addFilter("foo#@#bar"); | 
| 262 compareFiltersList(test, "Adding hiding exception", [["foo"], ["@@bar", "foo## bar", "foo#@#bar"], []]); | 265 compareFiltersList(test, "Adding hiding exception", [["foo"], ["@@bar", "foo## bar", "foo#@#bar"], []]); | 
| 263 test.deepEqual(changes, ["filter.added foo#@#bar 1 2"], "Received changes"); | 266 test.deepEqual(changes, ["filter.added foo#@#bar 1 2"], "Received changes"); | 
| 264 | 267 | 
| (...skipping 16 matching lines...) Expand all Loading... | |
| 281 changes = []; | 284 changes = []; | 
| 282 addFilter("foo"); | 285 addFilter("foo"); | 
| 283 compareFiltersList(test, "Adding filter already in a disabled subscription", [ ["foo"], ["@@bar", "foo##bar", "foo#@#bar"], ["!foobar", "foo"]]); | 286 compareFiltersList(test, "Adding filter already in a disabled subscription", [ ["foo"], ["@@bar", "foo##bar", "foo#@#bar"], ["!foobar", "foo"]]); | 
| 284 test.deepEqual(changes, ["filter.added foo 2 1"], "Received changes"); | 287 test.deepEqual(changes, ["filter.added foo 2 1"], "Received changes"); | 
| 285 | 288 | 
| 286 changes = []; | 289 changes = []; | 
| 287 removeFilter("foo"); | 290 removeFilter("foo"); | 
| 288 compareFiltersList(test, "Removing filter", [[], ["@@bar", "foo##bar", "foo#@# bar"], ["!foobar"]]); | 291 compareFiltersList(test, "Removing filter", [[], ["@@bar", "foo##bar", "foo#@# bar"], ["!foobar"]]); | 
| 289 test.deepEqual(changes, [ | 292 test.deepEqual(changes, [ | 
| 290 "filter.removed foo 0 0", | 293 "filter.removed foo 0 0", | 
| 291 "filter.removed foo 2 1", | 294 "filter.removed foo 2 1" | 
| 292 ], "Received changes"); | 295 ], "Received changes"); | 
| 293 | 296 | 
| 294 changes = []; | 297 changes = []; | 
| 295 removeFilter("foo"); | 298 removeFilter("foo"); | 
| 296 compareFiltersList(test, "Removing unknown filter", [[], ["@@bar", "foo##bar", "foo#@#bar"], ["!foobar"]]); | 299 compareFiltersList(test, "Removing unknown filter", [[], ["@@bar", "foo##bar", "foo#@#bar"], ["!foobar"]]); | 
| 297 test.deepEqual(changes, [], "Received changes"); | 300 test.deepEqual(changes, [], "Received changes"); | 
| 298 | 301 | 
| 299 test.done(); | 302 test.done(); | 
| 300 }; | 303 }; | 
| LEFT | RIGHT |