OLD | NEW |
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-2016 Eyeo GmbH | 3 * Copyright (C) 2006-2016 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 13 matching lines...) Expand all Loading... |
24 let Subscription = null; | 24 let Subscription = null; |
25 let Filter = null; | 25 let Filter = null; |
26 let defaultMatcher = null; | 26 let defaultMatcher = null; |
27 let SpecialSubscription = null; | 27 let SpecialSubscription = null; |
28 | 28 |
29 exports.setUp = function(callback) | 29 exports.setUp = function(callback) |
30 { | 30 { |
31 sandboxedRequire = createSandbox({ | 31 sandboxedRequire = createSandbox({ |
32 extraExports: { | 32 extraExports: { |
33 elemHide: ["filterByKey", "exceptions"], | 33 elemHide: ["filterByKey", "exceptions"], |
34 cssRules: ["filters"] | 34 elemHideEmulation: ["filters"] |
35 } | 35 } |
36 }); | 36 }); |
37 | 37 |
38 // We need to require the filterListener module so that filter changes will be | 38 // We need to require the filterListener module so that filter changes will be |
39 // noticed, even though we don't directly use the module here. | 39 // noticed, even though we don't directly use the module here. |
40 sandboxedRequire("../lib/filterListener"); | 40 sandboxedRequire("../lib/filterListener"); |
41 | 41 |
42 ( | 42 ( |
43 {FilterStorage} = sandboxedRequire("../lib/filterStorage"), | 43 {FilterStorage} = sandboxedRequire("../lib/filterStorage"), |
44 {Subscription, SpecialSubscription} = sandboxedRequire("../lib/subscriptionC
lasses"), | 44 {Subscription, SpecialSubscription} = sandboxedRequire("../lib/subscriptionC
lasses"), |
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
84 result.elemhide.push(elemHide.filterByKey[key].text); | 84 result.elemhide.push(elemHide.filterByKey[key].text); |
85 | 85 |
86 result.elemhideexception = []; | 86 result.elemhideexception = []; |
87 for (let selector in elemHide.exceptions) | 87 for (let selector in elemHide.exceptions) |
88 { | 88 { |
89 let list = elemHide.exceptions[selector]; | 89 let list = elemHide.exceptions[selector]; |
90 for (let exception of list) | 90 for (let exception of list) |
91 result.elemhideexception.push(exception.text); | 91 result.elemhideexception.push(exception.text); |
92 } | 92 } |
93 | 93 |
94 let cssRules = sandboxedRequire("../lib/cssRules"); | 94 let elemHideEmulation = sandboxedRequire("../lib/elemHideEmulation"); |
95 result.cssrule = []; | 95 result.elemhideemulation = []; |
96 for (let filterText in cssRules.filters) | 96 for (let filterText in elemHideEmulation.filters) |
97 result.cssrule.push(filterText); | 97 result.elemhideemulation.push(filterText); |
98 | 98 |
99 let types = ["blacklist", "whitelist", "elemhide", "elemhideexception", | 99 let types = ["blacklist", "whitelist", "elemhide", "elemhideexception", |
100 "cssrule"]; | 100 "elemhideemulation"]; |
101 for (let type of types) | 101 for (let type of types) |
102 { | 102 { |
103 if (!(type in expected)) | 103 if (!(type in expected)) |
104 expected[type] = []; | 104 expected[type] = []; |
105 else | 105 else |
106 expected[type].sort(); | 106 expected[type].sort(); |
107 result[type].sort(); | 107 result[type].sort(); |
108 } | 108 } |
109 | 109 |
110 test.deepEqual(result, expected, text); | 110 test.deepEqual(result, expected, text); |
(...skipping 13 matching lines...) Expand all Loading... |
124 checkKnownFilters(test, "add filter1", {blacklist: [filter1.text]}); | 124 checkKnownFilters(test, "add filter1", {blacklist: [filter1.text]}); |
125 FilterStorage.addFilter(filter2); | 125 FilterStorage.addFilter(filter2); |
126 checkKnownFilters(test, "add @@filter2", {blacklist: [filter1.text], whitelist
: [filter2.text]}); | 126 checkKnownFilters(test, "add @@filter2", {blacklist: [filter1.text], whitelist
: [filter2.text]}); |
127 FilterStorage.addFilter(filter3); | 127 FilterStorage.addFilter(filter3); |
128 checkKnownFilters(test, "add #filter3", {blacklist: [filter1.text], whitelist:
[filter2.text], elemhide: [filter3.text]}); | 128 checkKnownFilters(test, "add #filter3", {blacklist: [filter1.text], whitelist:
[filter2.text], elemhide: [filter3.text]}); |
129 FilterStorage.addFilter(filter4); | 129 FilterStorage.addFilter(filter4); |
130 checkKnownFilters(test, "add !filter4", {blacklist: [filter1.text], whitelist:
[filter2.text], elemhide: [filter3.text]}); | 130 checkKnownFilters(test, "add !filter4", {blacklist: [filter1.text], whitelist:
[filter2.text], elemhide: [filter3.text]}); |
131 FilterStorage.addFilter(filter5); | 131 FilterStorage.addFilter(filter5); |
132 checkKnownFilters(test, "add #@#filter5", {blacklist: [filter1.text], whitelis
t: [filter2.text], elemhide: [filter3.text], elemhideexception: [filter5.text]})
; | 132 checkKnownFilters(test, "add #@#filter5", {blacklist: [filter1.text], whitelis
t: [filter2.text], elemhide: [filter3.text], elemhideexception: [filter5.text]})
; |
133 FilterStorage.addFilter(filter6); | 133 FilterStorage.addFilter(filter6); |
134 checkKnownFilters(test, "add example.com##[-abp-properties='filter6']", {black
list: [filter1.text], whitelist: [filter2.text], elemhide: [filter3.text], elemh
ideexception: [filter5.text], cssrule: [filter6.text]}); | 134 checkKnownFilters(test, "add example.com##[-abp-properties='filter6']", {black
list: [filter1.text], whitelist: [filter2.text], elemhide: [filter3.text], elemh
ideexception: [filter5.text], elemhideemulation: [filter6.text]}); |
135 FilterStorage.addFilter(filter7); | 135 FilterStorage.addFilter(filter7); |
136 checkKnownFilters(test, "add example.com#@#[-abp-properties='filter7']", {blac
klist: [filter1.text], whitelist: [filter2.text], elemhide: [filter3.text], elem
hideexception: [filter5.text, filter7.text], cssrule: [filter6.text]}); | 136 checkKnownFilters(test, "add example.com#@#[-abp-properties='filter7']", {blac
klist: [filter1.text], whitelist: [filter2.text], elemhide: [filter3.text], elem
hideexception: [filter5.text, filter7.text], elemhideemulation: [filter6.text]})
; |
137 | 137 |
138 FilterStorage.removeFilter(filter1); | 138 FilterStorage.removeFilter(filter1); |
139 checkKnownFilters(test, "remove filter1", {whitelist: [filter2.text], elemhide
: [filter3.text], elemhideexception: [filter5.text, filter7.text], cssrule: [fil
ter6.text]}); | 139 checkKnownFilters(test, "remove filter1", {whitelist: [filter2.text], elemhide
: [filter3.text], elemhideexception: [filter5.text, filter7.text], elemhideemula
tion: [filter6.text]}); |
140 filter2.disabled = true; | 140 filter2.disabled = true; |
141 checkKnownFilters(test, "disable filter2", {elemhide: [filter3.text], elemhide
exception: [filter5.text, filter7.text], cssrule: [filter6.text]}); | 141 checkKnownFilters(test, "disable filter2", {elemhide: [filter3.text], elemhide
exception: [filter5.text, filter7.text], elemhideemulation: [filter6.text]}); |
142 FilterStorage.removeFilter(filter2); | 142 FilterStorage.removeFilter(filter2); |
143 checkKnownFilters(test, "remove filter2", {elemhide: [filter3.text], elemhidee
xception: [filter5.text, filter7.text], cssrule: [filter6.text]}); | 143 checkKnownFilters(test, "remove filter2", {elemhide: [filter3.text], elemhidee
xception: [filter5.text, filter7.text], elemhideemulation: [filter6.text]}); |
144 FilterStorage.removeFilter(filter4); | 144 FilterStorage.removeFilter(filter4); |
145 checkKnownFilters(test, "remove filter4", {elemhide: [filter3.text], elemhidee
xception: [filter5.text, filter7.text], cssrule: [filter6.text]}); | 145 checkKnownFilters(test, "remove filter4", {elemhide: [filter3.text], elemhidee
xception: [filter5.text, filter7.text], elemhideemulation: [filter6.text]}); |
146 | 146 |
147 test.done(); | 147 test.done(); |
148 }; | 148 }; |
149 | 149 |
150 exports.testDisablingEnablingFiltersNotInTheList = function(test) | 150 exports.testDisablingEnablingFiltersNotInTheList = function(test) |
151 { | 151 { |
152 let filter1 = Filter.fromText("filter1"); | 152 let filter1 = Filter.fromText("filter1"); |
153 let filter2 = Filter.fromText("@@filter2"); | 153 let filter2 = Filter.fromText("@@filter2"); |
154 let filter3 = Filter.fromText("#filter3"); | 154 let filter3 = Filter.fromText("#filter3"); |
155 let filter4 = Filter.fromText("#@#filter4"); | 155 let filter4 = Filter.fromText("#@#filter4"); |
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
197 let filter3 = Filter.fromText("#filter3"); | 197 let filter3 = Filter.fromText("#filter3"); |
198 let filter4 = Filter.fromText("!filter4"); | 198 let filter4 = Filter.fromText("!filter4"); |
199 let filter5 = Filter.fromText("#@#filter5"); | 199 let filter5 = Filter.fromText("#@#filter5"); |
200 let filter6 = Filter.fromText("example.com##[-abp-properties='filter6']"); | 200 let filter6 = Filter.fromText("example.com##[-abp-properties='filter6']"); |
201 let filter7 = Filter.fromText("example.com#@#[-abp-properties='filter7']"); | 201 let filter7 = Filter.fromText("example.com#@#[-abp-properties='filter7']"); |
202 | 202 |
203 let subscription = Subscription.fromURL("http://test1/"); | 203 let subscription = Subscription.fromURL("http://test1/"); |
204 subscription.filters = [filter1, filter2, filter3, filter4, filter5, filter6,
filter7]; | 204 subscription.filters = [filter1, filter2, filter3, filter4, filter5, filter6,
filter7]; |
205 | 205 |
206 FilterStorage.addSubscription(subscription); | 206 FilterStorage.addSubscription(subscription); |
207 checkKnownFilters(test, "add subscription with filter1, @@filter2, #filter3, !
filter4, #@#filter5, example.com##[-abp-properties='filter6'], example.com#@#[-a
bp-properties='filter7']", {blacklist: [filter1.text], elemhide: [filter3.text],
elemhideexception: [filter5.text, filter7.text], cssrule: [filter6.text]}); | 207 checkKnownFilters(test, "add subscription with filter1, @@filter2, #filter3, !
filter4, #@#filter5, example.com##[-abp-properties='filter6'], example.com#@#[-a
bp-properties='filter7']", {blacklist: [filter1.text], elemhide: [filter3.text],
elemhideexception: [filter5.text, filter7.text], elemhideemulation: [filter6.te
xt]}); |
208 | 208 |
209 filter2.disabled = false; | 209 filter2.disabled = false; |
210 checkKnownFilters(test, "enable @@filter2", {blacklist: [filter1.text], whitel
ist: [filter2.text], elemhide: [filter3.text], elemhideexception: [filter5.text,
filter7.text], cssrule: [filter6.text]}); | 210 checkKnownFilters(test, "enable @@filter2", {blacklist: [filter1.text], whitel
ist: [filter2.text], elemhide: [filter3.text], elemhideexception: [filter5.text,
filter7.text], elemhideemulation: [filter6.text]}); |
211 | 211 |
212 FilterStorage.addFilter(filter1); | 212 FilterStorage.addFilter(filter1); |
213 checkKnownFilters(test, "add filter1", {blacklist: [filter1.text], whitelist:
[filter2.text], elemhide: [filter3.text], elemhideexception: [filter5.text, filt
er7.text], cssrule: [filter6.text]}); | 213 checkKnownFilters(test, "add filter1", {blacklist: [filter1.text], whitelist:
[filter2.text], elemhide: [filter3.text], elemhideexception: [filter5.text, filt
er7.text], elemhideemulation: [filter6.text]}); |
214 | 214 |
215 FilterStorage.updateSubscriptionFilters(subscription, [filter4]); | 215 FilterStorage.updateSubscriptionFilters(subscription, [filter4]); |
216 checkKnownFilters(test, "change subscription filters to filter4", {blacklist:
[filter1.text]}); | 216 checkKnownFilters(test, "change subscription filters to filter4", {blacklist:
[filter1.text]}); |
217 | 217 |
218 FilterStorage.removeFilter(filter1); | 218 FilterStorage.removeFilter(filter1); |
219 checkKnownFilters(test, "remove filter1", {}); | 219 checkKnownFilters(test, "remove filter1", {}); |
220 | 220 |
221 FilterStorage.updateSubscriptionFilters(subscription, [filter1, filter2]); | 221 FilterStorage.updateSubscriptionFilters(subscription, [filter1, filter2]); |
222 checkKnownFilters(test, "change subscription filters to filter1, filter2", {bl
acklist: [filter1.text], whitelist: [filter2.text]}); | 222 checkKnownFilters(test, "change subscription filters to filter1, filter2", {bl
acklist: [filter1.text], whitelist: [filter2.text]}); |
223 | 223 |
(...skipping 96 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
320 checkKnownFilters(test, "disable exception rules", {blacklist: [filter1.text,
filter3.text], whitelist: [filter2.text]}); | 320 checkKnownFilters(test, "disable exception rules", {blacklist: [filter1.text,
filter3.text], whitelist: [filter2.text]}); |
321 | 321 |
322 FilterStorage.removeSubscription(subscription4); | 322 FilterStorage.removeSubscription(subscription4); |
323 checkKnownFilters(test, "remove subscription from the list", {blacklist: [filt
er1.text]}); | 323 checkKnownFilters(test, "remove subscription from the list", {blacklist: [filt
er1.text]}); |
324 | 324 |
325 subscription3.disabled = false; | 325 subscription3.disabled = false; |
326 checkKnownFilters(test, "enable exception rules", {blacklist: [filter1.text],
whitelist: [filter2.text]}); | 326 checkKnownFilters(test, "enable exception rules", {blacklist: [filter1.text],
whitelist: [filter2.text]}); |
327 | 327 |
328 test.done(); | 328 test.done(); |
329 }; | 329 }; |
OLD | NEW |