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

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

Issue 29355735: Issue 4223 - Remove tests migrated to adblockpluscore (Closed)
Patch Set: Restored elemhide.js Created Oct. 4, 2016, 2:19 p.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 | « chrome/content/tests/filterClasses.js ('k') | chrome/content/tests/filterNotifier.js » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(Empty)
1 (function()
2 {
3 module("Filter listener", {
4 setup: function()
5 {
6 prepareFilterComponents.call(this, true);
7 preparePrefs.call(this);
8
9 FilterStorage.addSubscription(Subscription.fromURL("~fl~"));
10 FilterStorage.addSubscription(Subscription.fromURL("~wl~"));
11 FilterStorage.addSubscription(Subscription.fromURL("~eh~"));
12
13 Subscription.fromURL("~fl~").defaults = ["blocking"];
14 Subscription.fromURL("~wl~").defaults = ["whitelist"];
15 Subscription.fromURL("~eh~").defaults = ["elemhide"];
16 },
17 teardown: function()
18 {
19 restoreFilterComponents.call(this);
20 restorePrefs.call(this);
21 }
22 });
23
24 function checkKnownFilters(text, expected)
25 {
26 let result = {};
27 for (let type of ["blacklist", "whitelist"])
28 {
29 let matcher = defaultMatcher[type]
30 let filters = [];
31 for (let keyword in matcher.filterByKeyword)
32 {
33 let list = matcher.filterByKeyword[keyword];
34 for (let i = 0; i < list.length; i++)
35 {
36 let filter = list[i];
37 equal(matcher.getKeywordForFilter(filter), keyword, "Keyword of filter " + filter.text);
38 filters.push(filter.text);
39 }
40 }
41 result[type] = filters;
42 }
43
44 let ElemHideGlobal = getModuleGlobal("elemHide");
45 result.elemhide = [];
46 for (let key in ElemHideGlobal.filterByKey)
47 result.elemhide.push(ElemHideGlobal.filterByKey[key].text);
48
49 result.elemhideexception = [];
50 for (let selector in ElemHideGlobal.exceptions)
51 {
52 let list = ElemHideGlobal.exceptions[selector];
53 for (let exception of list)
54 result.elemhideexception.push(exception.text);
55 }
56
57 let CSSRulesGlobal = getModuleGlobal("cssRules");
58 result.cssrule = [];
59 for (let filterText in CSSRulesGlobal.filters)
60 result.cssrule.push(filterText);
61
62 let types = ["blacklist", "whitelist", "elemhide", "elemhideexception",
63 "cssrule"];
64 for (let type of types)
65 if (!(type in expected))
66 expected[type] = [];
67
68 deepEqual(result, expected, text);
69 }
70
71 test("Adding and removing filters", function()
72 {
73 let filter1 = Filter.fromText("filter1");
74 let filter2 = Filter.fromText("@@filter2");
75 let filter3 = Filter.fromText("#filter3");
76 let filter4 = Filter.fromText("!filter4");
77 let filter5 = Filter.fromText("#@#filter5");
78 let filter6 = Filter.fromText("example.com##[-abp-properties='filter6']");
79 let filter7 = Filter.fromText("example.com#@#[-abp-properties='filter7']");
80
81 FilterStorage.addFilter(filter1);
82 checkKnownFilters("add filter1", {blacklist: [filter1.text]});
83 FilterStorage.addFilter(filter2);
84 checkKnownFilters("add @@filter2", {blacklist: [filter1.text], whitelist: [f ilter2.text]});
85 FilterStorage.addFilter(filter3);
86 checkKnownFilters("add #filter3", {blacklist: [filter1.text], whitelist: [fi lter2.text], elemhide: [filter3.text]});
87 FilterStorage.addFilter(filter4);
88 checkKnownFilters("add !filter4", {blacklist: [filter1.text], whitelist: [fi lter2.text], elemhide: [filter3.text]});
89 FilterStorage.addFilter(filter5);
90 checkKnownFilters("add #@#filter5", {blacklist: [filter1.text], whitelist: [ filter2.text], elemhide: [filter3.text], elemhideexception: [filter5.text]});
91 FilterStorage.addFilter(filter6);
92 checkKnownFilters("add example.com##[-abp-properties='filter6']", {blacklist : [filter1.text], whitelist: [filter2.text], elemhide: [filter3.text], elemhidee xception: [filter5.text], cssrule: [filter6.text]});
93 FilterStorage.addFilter(filter7);
94 checkKnownFilters("add example.com#@#[-abp-properties='filter7']", {blacklis t: [filter1.text], whitelist: [filter2.text], elemhide: [filter3.text], elemhide exception: [filter5.text, filter7.text], cssrule: [filter6.text]});
95
96 FilterStorage.removeFilter(filter1);
97 checkKnownFilters("remove filter1", {whitelist: [filter2.text], elemhide: [f ilter3.text], elemhideexception: [filter5.text, filter7.text], cssrule: [filter6 .text]});
98 filter2.disabled = true;
99 checkKnownFilters("disable filter2", {elemhide: [filter3.text], elemhideexce ption: [filter5.text, filter7.text], cssrule: [filter6.text]});
100 FilterStorage.removeFilter(filter2);
101 checkKnownFilters("remove filter2", {elemhide: [filter3.text], elemhideexcep tion: [filter5.text, filter7.text], cssrule: [filter6.text]});
102 FilterStorage.removeFilter(filter4);
103 checkKnownFilters("remove filter4", {elemhide: [filter3.text], elemhideexcep tion: [filter5.text, filter7.text], cssrule: [filter6.text]});
104 });
105
106 test("Disabling/enabling filters not in the list", function()
107 {
108 let filter1 = Filter.fromText("filter1");
109 let filter2 = Filter.fromText("@@filter2");
110 let filter3 = Filter.fromText("#filter3");
111 let filter4 = Filter.fromText("#@#filter4");
112 let filter5 = Filter.fromText("example.com##[-abp-properties='filter5']");
113 let filter6 = Filter.fromText("example.com#@#[-abp-properties='filter6']");
114
115 filter1.disabled = true;
116 checkKnownFilters("disable filter1 while not in list", {});
117 filter1.disabled = false;
118 checkKnownFilters("enable filter1 while not in list", {});
119
120 filter2.disabled = true;
121 checkKnownFilters("disable @@filter2 while not in list", {});
122 filter2.disabled = false;
123 checkKnownFilters("enable @@filter2 while not in list", {});
124
125 filter3.disabled = true;
126 checkKnownFilters("disable #filter3 while not in list", {});
127 filter3.disabled = false;
128 checkKnownFilters("enable #filter3 while not in list", {});
129
130 filter4.disabled = true;
131 checkKnownFilters("disable #@#filter4 while not in list", {});
132 filter4.disabled = false;
133 checkKnownFilters("enable #@#filter4 while not in list", {});
134
135 filter5.disabled = true;
136 checkKnownFilters("disable example.com##[-abp-properties='filter5'] while no t in list", {});
137 filter5.disabled = false;
138 checkKnownFilters("enable example.com##[-abp-properties='filter5'] while not in list", {});
139
140 filter6.disabled = true;
141 checkKnownFilters("disable example.com#@#[-abp-properties='filter6'] while n ot in list", {});
142 filter6.disabled = false;
143 checkKnownFilters("enable example.com#@#[-abp-properties='filter6'] while no t in list", {});
144 });
145
146 test("Filter subscription operations", function()
147 {
148 let filter1 = Filter.fromText("filter1");
149 let filter2 = Filter.fromText("@@filter2");
150 filter2.disabled = true;
151 let filter3 = Filter.fromText("#filter3");
152 let filter4 = Filter.fromText("!filter4");
153 let filter5 = Filter.fromText("#@#filter5");
154 let filter6 = Filter.fromText("example.com##[-abp-properties='filter6']");
155 let filter7 = Filter.fromText("example.com#@#[-abp-properties='filter7']");
156
157 let subscription = Subscription.fromURL("http://test1/");
158 subscription.filters = [filter1, filter2, filter3, filter4, filter5, filter6 , filter7];
159
160 FilterStorage.addSubscription(subscription);
161 checkKnownFilters("add subscription with filter1, @@filter2, #filter3, !filt er4, #@#filter5, example.com##[-abp-properties='filter6'], example.com#@#[-abp-p roperties='filter7']", {blacklist: [filter1.text], elemhide: [filter3.text], ele mhideexception: [filter5.text, filter7.text], cssrule: [filter6.text]});
162
163 filter2.disabled = false;
164 checkKnownFilters("enable @@filter2", {blacklist: [filter1.text], whitelist: [filter2.text], elemhide: [filter3.text], elemhideexception: [filter5.text, fil ter7.text], cssrule: [filter6.text]});
165
166 FilterStorage.addFilter(filter1);
167 checkKnownFilters("add filter1", {blacklist: [filter1.text], whitelist: [fil ter2.text], elemhide: [filter3.text], elemhideexception: [filter5.text, filter7. text], cssrule: [filter6.text]});
168
169 FilterStorage.updateSubscriptionFilters(subscription, [filter4]);
170 checkKnownFilters("change subscription filters to filter4", {blacklist: [fil ter1.text]});
171
172 FilterStorage.removeFilter(filter1);
173 checkKnownFilters("remove filter1", {});
174
175 FilterStorage.updateSubscriptionFilters(subscription, [filter1, filter2]);
176 checkKnownFilters("change subscription filters to filter1, filter2", {blackl ist: [filter1.text], whitelist: [filter2.text]});
177
178 filter1.disabled = true;
179 checkKnownFilters("disable filter1", {whitelist: [filter2.text]});
180 filter2.disabled = true;
181 checkKnownFilters("disable filter2", {});
182 filter1.disabled = false;
183 filter2.disabled = false;
184 checkKnownFilters("enable filter1, filter2", {blacklist: [filter1.text], whi telist: [filter2.text]});
185
186 FilterStorage.addFilter(filter1);
187 checkKnownFilters("add filter1", {blacklist: [filter1.text], whitelist: [fil ter2.text]});
188
189 subscription.disabled = true;
190 checkKnownFilters("disable subscription", {blacklist: [filter1.text]});
191
192 FilterStorage.removeSubscription(subscription);
193 checkKnownFilters("remove subscription", {blacklist: [filter1.text]});
194
195 FilterStorage.addSubscription(subscription);
196 checkKnownFilters("add subscription", {blacklist: [filter1.text]});
197
198 subscription.disabled = false;
199 checkKnownFilters("enable subscription", {blacklist: [filter1.text], whiteli st: [filter2.text]});
200
201 subscription.disabled = true;
202 checkKnownFilters("disable subscription", {blacklist: [filter1.text]});
203
204 FilterStorage.addFilter(filter2);
205 checkKnownFilters("add filter2", {blacklist: [filter1.text], whitelist: [fil ter2.text]});
206
207 FilterStorage.removeFilter(filter2);
208 checkKnownFilters("remove filter2", {blacklist: [filter1.text]});
209
210 subscription.disabled = false;
211 checkKnownFilters("enable subscription", {blacklist: [filter1.text], whiteli st: [filter2.text]});
212
213 FilterStorage.removeSubscription(subscription);
214 checkKnownFilters("remove subscription", {blacklist: [filter1.text]});
215 });
216
217 test("Filter group operations", function()
218 {
219 let filter1 = Filter.fromText("filter1");
220 let filter2 = Filter.fromText("@@filter2");
221 let filter3 = Filter.fromText("filter3");
222 let filter4 = Filter.fromText("@@filter4");
223 let filter5 = Filter.fromText("!filter5");
224
225 let subscription = Subscription.fromURL("http://test1/");
226 subscription.filters = [filter1, filter2];
227
228 FilterStorage.addSubscription(subscription);
229 FilterStorage.addFilter(filter1);
230 checkKnownFilters("initial setup", {blacklist: [filter1.text], whitelist: [f ilter2.text]});
231
232 let subscription2 = Subscription.fromURL("~fl~");
233 subscription2.disabled = true;
234 checkKnownFilters("disable blocking filters", {blacklist: [filter1.text], wh itelist: [filter2.text]});
235
236 FilterStorage.removeSubscription(subscription);
237 checkKnownFilters("remove subscription", {});
238
239 subscription2.disabled = false;
240 checkKnownFilters("enable blocking filters", {blacklist: [filter1.text]});
241
242 let subscription3 = Subscription.fromURL("~wl~");
243 subscription3.disabled = true;
244 checkKnownFilters("disable exception rules", {blacklist: [filter1.text]});
245
246 FilterStorage.addFilter(filter2);
247 checkKnownFilters("add @@filter2", {blacklist: [filter1.text], whitelist: [f ilter2.text]});
248 equal(filter2.subscriptions.length, 1, "@@filter2.subscription.length");
249 ok(filter2.subscriptions[0] instanceof SpecialSubscription, "@@filter2 added to a new filter group");
250 ok(filter2.subscriptions[0] != subscription3, "@@filter2 filter group is not the disabled exceptions group");
251
252 subscription3.disabled = false;
253 checkKnownFilters("enable exception rules", {blacklist: [filter1.text], whit elist: [filter2.text]});
254
255 FilterStorage.removeFilter(filter2);
256 FilterStorage.addFilter(filter2);
257 checkKnownFilters("re-add @@filter2", {blacklist: [filter1.text], whitelist: [filter2.text]});
258 equal(filter2.subscriptions.length, 1, "@@filter2.subscription.length");
259 ok(filter2.subscriptions[0] == subscription3, "@@filter2 added to the defaul t exceptions group");
260
261 let subscription4 = Subscription.fromURL("http://test/");
262 FilterStorage.updateSubscriptionFilters(subscription4, [filter3, filter4, fi lter5]);
263 checkKnownFilters("update subscription not in the list yet", {blacklist: [fi lter1.text], whitelist: [filter2.text]});
264
265 FilterStorage.addSubscription(subscription4);
266 checkKnownFilters("add subscription to the list", {blacklist: [filter1.text, filter3.text], whitelist: [filter2.text, filter4.text]});
267
268 FilterStorage.updateSubscriptionFilters(subscription4, [filter3, filter2, fi lter5]);
269 checkKnownFilters("update subscription while in the list", {blacklist: [filt er1.text, filter3.text], whitelist: [filter2.text]});
270
271 subscription3.disabled = true;
272 checkKnownFilters("disable exception rules", {blacklist: [filter1.text, filt er3.text], whitelist: [filter2.text]});
273
274 FilterStorage.removeSubscription(subscription4);
275 checkKnownFilters("remove subscription from the list", {blacklist: [filter1. text]});
276
277 subscription3.disabled = false;
278 checkKnownFilters("enable exception rules", {blacklist: [filter1.text], whit elist: [filter2.text]});
279 });
280 })();
OLDNEW
« no previous file with comments | « chrome/content/tests/filterClasses.js ('k') | chrome/content/tests/filterNotifier.js » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld