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

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

Issue 29324604: Issue 2394 - Added unit tests for CSS property filters (Closed)
Patch Set: Created Dec. 3, 2015, 12:51 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
OLDNEW
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
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
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 })();
OLDNEW
« chrome/content/tests/cssRules.js ('K') | « chrome/content/tests/filterClasses.js ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld