Left: | ||
Right: |
OLD | NEW |
---|---|
1 (function() | 1 (function() |
2 { | 2 { |
3 module("Filter listener", { | 3 module("Filter listener", { |
4 setup: function() | 4 setup: function() |
5 { | 5 { |
6 prepareFilterComponents.call(this, true); | 6 prepareFilterComponents.call(this, true); |
7 preparePrefs.call(this); | 7 preparePrefs.call(this); |
8 | 8 |
9 FilterStorage.addSubscription(Subscription.fromURL("~fl~")); | 9 FilterStorage.addSubscription(Subscription.fromURL("~fl~")); |
10 FilterStorage.addSubscription(Subscription.fromURL("~wl~")); | 10 FilterStorage.addSubscription(Subscription.fromURL("~wl~")); |
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
43 | 43 |
44 let ElemHideGlobal = getModuleGlobal("elemHide"); | 44 let ElemHideGlobal = getModuleGlobal("elemHide"); |
45 result.elemhide = []; | 45 result.elemhide = []; |
46 for (let key in ElemHideGlobal.filterByKey) | 46 for (let key in ElemHideGlobal.filterByKey) |
47 result.elemhide.push(ElemHideGlobal.filterByKey[key].text); | 47 result.elemhide.push(ElemHideGlobal.filterByKey[key].text); |
48 | 48 |
49 result.elemhideexception = []; | 49 result.elemhideexception = []; |
50 for (let selector in ElemHideGlobal.exceptions) | 50 for (let selector in ElemHideGlobal.exceptions) |
51 { | 51 { |
52 let list = ElemHideGlobal.exceptions[selector]; | 52 let list = ElemHideGlobal.exceptions[selector]; |
53 for (let i = 0; i < list.length; i++) | 53 for (let exception of list) |
54 result.elemhideexception.push(list[i].text); | 54 result.elemhideexception.push(exception.text); |
55 } | 55 } |
56 | 56 |
57 for (let type of ["blacklist", "whitelist", "elemhide", "elemhideexception"] ) | 57 let CSSRulesGlobal = getModuleGlobal("cssRules"); |
58 result.cssrule = []; | |
59 for (let key in CSSRulesGlobal.filters) | |
60 { | |
61 let filter = Filter.fromText(key); | |
62 result.cssrule.push(filter.text); | |
Wladimir Palant
2015/12/04 13:09:48
This is an unnecessary roundtrip - result.cssrule.
Thomas Greiner
2015/12/07 17:29:26
Done.
| |
63 } | |
64 | |
65 let types = ["blacklist", "whitelist", "elemhide", "elemhideexception", | |
66 "cssrule"]; | |
67 for (let type of types) | |
58 if (!(type in expected)) | 68 if (!(type in expected)) |
59 expected[type] = []; | 69 expected[type] = []; |
60 | 70 |
61 deepEqual(result, expected, text); | 71 deepEqual(result, expected, text); |
62 } | 72 } |
63 | 73 |
64 test("Adding and removing filters", function() | 74 test("Adding and removing filters", function() |
65 { | 75 { |
66 let filter1 = Filter.fromText("filter1"); | 76 let filter1 = Filter.fromText("filter1"); |
67 let filter2 = Filter.fromText("@@filter2"); | 77 let filter2 = Filter.fromText("@@filter2"); |
68 let filter3 = Filter.fromText("#filter3"); | 78 let filter3 = Filter.fromText("#filter3"); |
69 let filter4 = Filter.fromText("!filter4"); | 79 let filter4 = Filter.fromText("!filter4"); |
70 let filter5 = Filter.fromText("#@#filter5"); | 80 let filter5 = Filter.fromText("#@#filter5"); |
81 let filter6 = Filter.fromText("example.com##[-abp-properties='filter6']"); | |
82 let filter7 = Filter.fromText("example.com#@#[-abp-properties='filter7']"); | |
71 | 83 |
72 FilterStorage.addFilter(filter1); | 84 FilterStorage.addFilter(filter1); |
73 checkKnownFilters("add filter1", {blacklist: [filter1.text]}); | 85 checkKnownFilters("add filter1", {blacklist: [filter1.text]}); |
74 FilterStorage.addFilter(filter2); | 86 FilterStorage.addFilter(filter2); |
75 checkKnownFilters("add @@filter2", {blacklist: [filter1.text], whitelist: [f ilter2.text]}); | 87 checkKnownFilters("add @@filter2", {blacklist: [filter1.text], whitelist: [f ilter2.text]}); |
76 FilterStorage.addFilter(filter3); | 88 FilterStorage.addFilter(filter3); |
77 checkKnownFilters("add #filter3", {blacklist: [filter1.text], whitelist: [fi lter2.text], elemhide: [filter3.text]}); | 89 checkKnownFilters("add #filter3", {blacklist: [filter1.text], whitelist: [fi lter2.text], elemhide: [filter3.text]}); |
78 FilterStorage.addFilter(filter4); | 90 FilterStorage.addFilter(filter4); |
79 checkKnownFilters("add !filter4", {blacklist: [filter1.text], whitelist: [fi lter2.text], elemhide: [filter3.text]}); | 91 checkKnownFilters("add !filter4", {blacklist: [filter1.text], whitelist: [fi lter2.text], elemhide: [filter3.text]}); |
80 FilterStorage.addFilter(filter5); | 92 FilterStorage.addFilter(filter5); |
81 checkKnownFilters("add #@#filter5", {blacklist: [filter1.text], whitelist: [ filter2.text], elemhide: [filter3.text], elemhideexception: [filter5.text]}); | 93 checkKnownFilters("add #@#filter5", {blacklist: [filter1.text], whitelist: [ filter2.text], elemhide: [filter3.text], elemhideexception: [filter5.text]}); |
94 FilterStorage.addFilter(filter6); | |
95 checkKnownFilters("add example.com##[-abp-properties='filter6']", {blacklist : [filter1.text], whitelist: [filter2.text], elemhide: [filter3.text], elemhidee xception: [filter5.text], cssrule: [filter6.text]}); | |
96 FilterStorage.addFilter(filter7); | |
97 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]}); | |
82 | 98 |
83 FilterStorage.removeFilter(filter1); | 99 FilterStorage.removeFilter(filter1); |
84 checkKnownFilters("remove filter1", {whitelist: [filter2.text], elemhide: [f ilter3.text], elemhideexception: [filter5.text]}); | 100 checkKnownFilters("remove filter1", {whitelist: [filter2.text], elemhide: [f ilter3.text], elemhideexception: [filter5.text, filter7.text], cssrule: [filter6 .text]}); |
85 filter2.disabled = true; | 101 filter2.disabled = true; |
86 checkKnownFilters("disable filter2", {elemhide: [filter3.text], elemhideexce ption: [filter5.text]}); | 102 checkKnownFilters("disable filter2", {elemhide: [filter3.text], elemhideexce ption: [filter5.text, filter7.text], cssrule: [filter6.text]}); |
87 FilterStorage.removeFilter(filter2); | 103 FilterStorage.removeFilter(filter2); |
88 checkKnownFilters("remove filter2", {elemhide: [filter3.text], elemhideexcep tion: [filter5.text]}); | 104 checkKnownFilters("remove filter2", {elemhide: [filter3.text], elemhideexcep tion: [filter5.text, filter7.text], cssrule: [filter6.text]}); |
89 FilterStorage.removeFilter(filter4); | 105 FilterStorage.removeFilter(filter4); |
90 checkKnownFilters("remove filter4", {elemhide: [filter3.text], elemhideexcep tion: [filter5.text]}); | 106 checkKnownFilters("remove filter4", {elemhide: [filter3.text], elemhideexcep tion: [filter5.text, filter7.text], cssrule: [filter6.text]}); |
91 }); | 107 }); |
92 | 108 |
93 test("Disabling/enabling filters not in the list", function() | 109 test("Disabling/enabling filters not in the list", function() |
94 { | 110 { |
95 let filter1 = Filter.fromText("filter1"); | 111 let filter1 = Filter.fromText("filter1"); |
96 let filter2 = Filter.fromText("@@filter2"); | 112 let filter2 = Filter.fromText("@@filter2"); |
97 let filter3 = Filter.fromText("#filter3"); | 113 let filter3 = Filter.fromText("#filter3"); |
98 let filter4 = Filter.fromText("#@#filter4"); | 114 let filter4 = Filter.fromText("#@#filter4"); |
115 let filter5 = Filter.fromText("example.com##[-abp-properties='filter5']"); | |
116 let filter6 = Filter.fromText("example.com#@#[-abp-properties='filter6']"); | |
99 | 117 |
100 filter1.disabled = true; | 118 filter1.disabled = true; |
101 checkKnownFilters("disable filter1 while not in list", {}); | 119 checkKnownFilters("disable filter1 while not in list", {}); |
102 filter1.disabled = false; | 120 filter1.disabled = false; |
103 checkKnownFilters("enable filter1 while not in list", {}); | 121 checkKnownFilters("enable filter1 while not in list", {}); |
104 | 122 |
105 filter2.disabled = true; | 123 filter2.disabled = true; |
106 checkKnownFilters("disable @@filter2 while not in list", {}); | 124 checkKnownFilters("disable @@filter2 while not in list", {}); |
107 filter2.disabled = false; | 125 filter2.disabled = false; |
108 checkKnownFilters("enable @@filter2 while not in list", {}); | 126 checkKnownFilters("enable @@filter2 while not in list", {}); |
109 | 127 |
110 filter3.disabled = true; | 128 filter3.disabled = true; |
111 checkKnownFilters("disable #filter3 while not in list", {}); | 129 checkKnownFilters("disable #filter3 while not in list", {}); |
112 filter3.disabled = false; | 130 filter3.disabled = false; |
113 checkKnownFilters("enable #filter3 while not in list", {}); | 131 checkKnownFilters("enable #filter3 while not in list", {}); |
114 | 132 |
115 filter4.disabled = true; | 133 filter4.disabled = true; |
116 checkKnownFilters("disable #@#filter4 while not in list", {}); | 134 checkKnownFilters("disable #@#filter4 while not in list", {}); |
117 filter4.disabled = false; | 135 filter4.disabled = false; |
118 checkKnownFilters("enable #@#filter4 while not in list", {}); | 136 checkKnownFilters("enable #@#filter4 while not in list", {}); |
137 | |
138 filter5.disabled = true; | |
139 checkKnownFilters("disable example.com##[-abp-properties='filter5'] while no t in list", {}); | |
140 filter5.disabled = false; | |
141 checkKnownFilters("enable example.com##[-abp-properties='filter5'] while not in list", {}); | |
142 | |
143 filter6.disabled = true; | |
144 checkKnownFilters("disable example.com#@#[-abp-properties='filter6'] while n ot in list", {}); | |
145 filter6.disabled = false; | |
146 checkKnownFilters("enable example.com#@#[-abp-properties='filter6'] while no t in list", {}); | |
119 }); | 147 }); |
120 | 148 |
121 test("Filter subscription operations", function() | 149 test("Filter subscription operations", function() |
122 { | 150 { |
123 let filter1 = Filter.fromText("filter1"); | 151 let filter1 = Filter.fromText("filter1"); |
124 let filter2 = Filter.fromText("@@filter2"); | 152 let filter2 = Filter.fromText("@@filter2"); |
125 filter2.disabled = true; | 153 filter2.disabled = true; |
126 let filter3 = Filter.fromText("#filter3"); | 154 let filter3 = Filter.fromText("#filter3"); |
127 let filter4 = Filter.fromText("!filter4"); | 155 let filter4 = Filter.fromText("!filter4"); |
128 let filter5 = Filter.fromText("#@#filter5"); | 156 let filter5 = Filter.fromText("#@#filter5"); |
157 let filter6 = Filter.fromText("example.com##[-abp-properties='filter6']"); | |
158 let filter7 = Filter.fromText("example.com#@#[-abp-properties='filter7']"); | |
129 | 159 |
130 let subscription = Subscription.fromURL("http://test1/"); | 160 let subscription = Subscription.fromURL("http://test1/"); |
131 subscription.filters = [filter1, filter2, filter3, filter4, filter5]; | 161 subscription.filters = [filter1, filter2, filter3, filter4, filter5, filter6 , filter7]; |
132 | 162 |
133 FilterStorage.addSubscription(subscription); | 163 FilterStorage.addSubscription(subscription); |
134 checkKnownFilters("add subscription with filter1, @@filter2, #filter3, !filt er4, #@#filter5", {blacklist: [filter1.text], elemhide: [filter3.text], elemhide exception: [filter5.text]}); | 164 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]}); |
135 | 165 |
136 filter2.disabled = false; | 166 filter2.disabled = false; |
137 checkKnownFilters("enable @@filter2", {blacklist: [filter1.text], whitelist: [filter2.text], elemhide: [filter3.text], elemhideexception: [filter5.text]}); | 167 checkKnownFilters("enable @@filter2", {blacklist: [filter1.text], whitelist: [filter2.text], elemhide: [filter3.text], elemhideexception: [filter5.text, fil ter7.text], cssrule: [filter6.text]}); |
138 | 168 |
139 FilterStorage.addFilter(filter1); | 169 FilterStorage.addFilter(filter1); |
140 checkKnownFilters("add filter1", {blacklist: [filter1.text], whitelist: [fil ter2.text], elemhide: [filter3.text], elemhideexception: [filter5.text]}); | 170 checkKnownFilters("add filter1", {blacklist: [filter1.text], whitelist: [fil ter2.text], elemhide: [filter3.text], elemhideexception: [filter5.text, filter7. text], cssrule: [filter6.text]}); |
141 | 171 |
142 FilterStorage.updateSubscriptionFilters(subscription, [filter4]); | 172 FilterStorage.updateSubscriptionFilters(subscription, [filter4]); |
143 checkKnownFilters("change subscription filters to filter4", {blacklist: [fil ter1.text]}); | 173 checkKnownFilters("change subscription filters to filter4", {blacklist: [fil ter1.text]}); |
144 | 174 |
145 FilterStorage.removeFilter(filter1); | 175 FilterStorage.removeFilter(filter1); |
146 checkKnownFilters("remove filter1", {}); | 176 checkKnownFilters("remove filter1", {}); |
147 | 177 |
148 FilterStorage.updateSubscriptionFilters(subscription, [filter1, filter2]); | 178 FilterStorage.updateSubscriptionFilters(subscription, [filter1, filter2]); |
149 checkKnownFilters("change subscription filters to filter1, filter2", {blackl ist: [filter1.text], whitelist: [filter2.text]}); | 179 checkKnownFilters("change subscription filters to filter1, filter2", {blackl ist: [filter1.text], whitelist: [filter2.text]}); |
150 | 180 |
(...skipping 93 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
244 subscription3.disabled = true; | 274 subscription3.disabled = true; |
245 checkKnownFilters("disable exception rules", {blacklist: [filter1.text, filt er3.text], whitelist: [filter2.text]}); | 275 checkKnownFilters("disable exception rules", {blacklist: [filter1.text, filt er3.text], whitelist: [filter2.text]}); |
246 | 276 |
247 FilterStorage.removeSubscription(subscription4); | 277 FilterStorage.removeSubscription(subscription4); |
248 checkKnownFilters("remove subscription from the list", {blacklist: [filter1. text]}); | 278 checkKnownFilters("remove subscription from the list", {blacklist: [filter1. text]}); |
249 | 279 |
250 subscription3.disabled = false; | 280 subscription3.disabled = false; |
251 checkKnownFilters("enable exception rules", {blacklist: [filter1.text], whit elist: [filter2.text]}); | 281 checkKnownFilters("enable exception rules", {blacklist: [filter1.text], whit elist: [filter2.text]}); |
252 }); | 282 }); |
253 })(); | 283 })(); |
OLD | NEW |