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-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 96 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
107 result[type].sort(); | 107 result[type].sort(); |
108 } | 108 } |
109 | 109 |
110 test.deepEqual(result, expected, text); | 110 test.deepEqual(result, expected, text); |
111 } | 111 } |
112 | 112 |
113 exports.testAddingAndRemovingFilters = function(test) | 113 exports.testAddingAndRemovingFilters = function(test) |
114 { | 114 { |
115 let filter1 = Filter.fromText("filter1"); | 115 let filter1 = Filter.fromText("filter1"); |
116 let filter2 = Filter.fromText("@@filter2"); | 116 let filter2 = Filter.fromText("@@filter2"); |
117 let filter3 = Filter.fromText("#filter3"); | 117 let filter3 = Filter.fromText("##filter3"); |
118 let filter4 = Filter.fromText("!filter4"); | 118 let filter4 = Filter.fromText("!filter4"); |
119 let filter5 = Filter.fromText("#@#filter5"); | 119 let filter5 = Filter.fromText("#@#filter5"); |
120 let filter6 = Filter.fromText("example.com##[-abp-properties='filter6']"); | 120 let filter6 = Filter.fromText("example.com#?#:-abp-properties(filter6')"); |
121 let filter7 = Filter.fromText("example.com#@#[-abp-properties='filter7']"); | 121 let filter7 = Filter.fromText("example.com#@#[-abp-properties='filter7']"); |
122 | 122 |
123 FilterStorage.addFilter(filter1); | 123 FilterStorage.addFilter(filter1); |
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], elemhideemulation: [filter6.text]}); | 134 checkKnownFilters(test, "add example.com##:-abp-properties(filter6)", {blackli
st: [filter1.text], whitelist: [filter2.text], elemhide: [filter3.text], elemhid
eexception: [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], elemhideemulation: [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], elemhideemula
tion: [filter6.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], elemhideemulation: [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], elemhideemulation: [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], elemhideemulation: [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"); |
156 let filter5 = Filter.fromText("example.com##[-abp-properties='filter5']"); | 156 let filter5 = Filter.fromText("example.com#?#:-abp-properties(filter5)"); |
157 let filter6 = Filter.fromText("example.com#@#[-abp-properties='filter6']"); | 157 let filter6 = Filter.fromText("example.com#@#[-abp-properties='filter6']"); |
158 | 158 |
159 filter1.disabled = true; | 159 filter1.disabled = true; |
160 checkKnownFilters(test, "disable filter1 while not in list", {}); | 160 checkKnownFilters(test, "disable filter1 while not in list", {}); |
161 filter1.disabled = false; | 161 filter1.disabled = false; |
162 checkKnownFilters(test, "enable filter1 while not in list", {}); | 162 checkKnownFilters(test, "enable filter1 while not in list", {}); |
163 | 163 |
164 filter2.disabled = true; | 164 filter2.disabled = true; |
165 checkKnownFilters(test, "disable @@filter2 while not in list", {}); | 165 checkKnownFilters(test, "disable @@filter2 while not in list", {}); |
166 filter2.disabled = false; | 166 filter2.disabled = false; |
167 checkKnownFilters(test, "enable @@filter2 while not in list", {}); | 167 checkKnownFilters(test, "enable @@filter2 while not in list", {}); |
168 | 168 |
169 filter3.disabled = true; | 169 filter3.disabled = true; |
170 checkKnownFilters(test, "disable #filter3 while not in list", {}); | 170 checkKnownFilters(test, "disable ##filter3 while not in list", {}); |
171 filter3.disabled = false; | 171 filter3.disabled = false; |
172 checkKnownFilters(test, "enable #filter3 while not in list", {}); | 172 checkKnownFilters(test, "enable ##filter3 while not in list", {}); |
173 | 173 |
174 filter4.disabled = true; | 174 filter4.disabled = true; |
175 checkKnownFilters(test, "disable #@#filter4 while not in list", {}); | 175 checkKnownFilters(test, "disable #@#filter4 while not in list", {}); |
176 filter4.disabled = false; | 176 filter4.disabled = false; |
177 checkKnownFilters(test, "enable #@#filter4 while not in list", {}); | 177 checkKnownFilters(test, "enable #@#filter4 while not in list", {}); |
178 | 178 |
179 filter5.disabled = true; | 179 filter5.disabled = true; |
180 checkKnownFilters(test, "disable example.com##[-abp-properties='filter5'] whil
e not in list", {}); | 180 checkKnownFilters(test, "disable example.com#?#:-abp-properties(filter5) while
not in list", {}); |
181 filter5.disabled = false; | 181 filter5.disabled = false; |
182 checkKnownFilters(test, "enable example.com##[-abp-properties='filter5'] while
not in list", {}); | 182 checkKnownFilters(test, "enable example.com#?#:-abp-properties(filter5) while
not in list", {}); |
183 | 183 |
184 filter6.disabled = true; | 184 filter6.disabled = true; |
185 checkKnownFilters(test, "disable example.com#@#[-abp-properties='filter6'] whi
le not in list", {}); | 185 checkKnownFilters(test, "disable example.com#@#[-abp-properties='filter6'] whi
le not in list", {}); |
186 filter6.disabled = false; | 186 filter6.disabled = false; |
187 checkKnownFilters(test, "enable example.com#@#[-abp-properties='filter6'] whil
e not in list", {}); | 187 checkKnownFilters(test, "enable example.com#@#[-abp-properties='filter6'] whil
e not in list", {}); |
188 | 188 |
189 test.done(); | 189 test.done(); |
190 }; | 190 }; |
191 | 191 |
192 exports.testFilterSubscriptionOperations = function(test) | 192 exports.testFilterSubscriptionOperations = function(test) |
193 { | 193 { |
194 let filter1 = Filter.fromText("filter1"); | 194 let filter1 = Filter.fromText("filter1"); |
195 let filter2 = Filter.fromText("@@filter2"); | 195 let filter2 = Filter.fromText("@@filter2"); |
196 filter2.disabled = true; | 196 filter2.disabled = true; |
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], elemhideemulation: [filter6.te
xt]}); | 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], elemhideemulation: [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], elemhideemulation: [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 |
(...skipping 102 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 |