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. 7, 2015, 5:21 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') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 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)
58 if (!(type in expected)) 65 if (!(type in expected))
59 expected[type] = []; 66 expected[type] = [];
60 67
61 deepEqual(result, expected, text); 68 deepEqual(result, expected, text);
62 } 69 }
63 70
64 test("Adding and removing filters", function() 71 test("Adding and removing filters", function()
65 { 72 {
66 let filter1 = Filter.fromText("filter1"); 73 let filter1 = Filter.fromText("filter1");
67 let filter2 = Filter.fromText("@@filter2"); 74 let filter2 = Filter.fromText("@@filter2");
68 let filter3 = Filter.fromText("#filter3"); 75 let filter3 = Filter.fromText("#filter3");
69 let filter4 = Filter.fromText("!filter4"); 76 let filter4 = Filter.fromText("!filter4");
70 let filter5 = Filter.fromText("#@#filter5"); 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']");
71 80
72 FilterStorage.addFilter(filter1); 81 FilterStorage.addFilter(filter1);
73 checkKnownFilters("add filter1", {blacklist: [filter1.text]}); 82 checkKnownFilters("add filter1", {blacklist: [filter1.text]});
74 FilterStorage.addFilter(filter2); 83 FilterStorage.addFilter(filter2);
75 checkKnownFilters("add @@filter2", {blacklist: [filter1.text], whitelist: [f ilter2.text]}); 84 checkKnownFilters("add @@filter2", {blacklist: [filter1.text], whitelist: [f ilter2.text]});
76 FilterStorage.addFilter(filter3); 85 FilterStorage.addFilter(filter3);
77 checkKnownFilters("add #filter3", {blacklist: [filter1.text], whitelist: [fi lter2.text], elemhide: [filter3.text]}); 86 checkKnownFilters("add #filter3", {blacklist: [filter1.text], whitelist: [fi lter2.text], elemhide: [filter3.text]});
78 FilterStorage.addFilter(filter4); 87 FilterStorage.addFilter(filter4);
79 checkKnownFilters("add !filter4", {blacklist: [filter1.text], whitelist: [fi lter2.text], elemhide: [filter3.text]}); 88 checkKnownFilters("add !filter4", {blacklist: [filter1.text], whitelist: [fi lter2.text], elemhide: [filter3.text]});
80 FilterStorage.addFilter(filter5); 89 FilterStorage.addFilter(filter5);
81 checkKnownFilters("add #@#filter5", {blacklist: [filter1.text], whitelist: [ filter2.text], elemhide: [filter3.text], elemhideexception: [filter5.text]}); 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]});
82 95
83 FilterStorage.removeFilter(filter1); 96 FilterStorage.removeFilter(filter1);
84 checkKnownFilters("remove filter1", {whitelist: [filter2.text], elemhide: [f ilter3.text], elemhideexception: [filter5.text]}); 97 checkKnownFilters("remove filter1", {whitelist: [filter2.text], elemhide: [f ilter3.text], elemhideexception: [filter5.text, filter7.text], cssrule: [filter6 .text]});
85 filter2.disabled = true; 98 filter2.disabled = true;
86 checkKnownFilters("disable filter2", {elemhide: [filter3.text], elemhideexce ption: [filter5.text]}); 99 checkKnownFilters("disable filter2", {elemhide: [filter3.text], elemhideexce ption: [filter5.text, filter7.text], cssrule: [filter6.text]});
87 FilterStorage.removeFilter(filter2); 100 FilterStorage.removeFilter(filter2);
88 checkKnownFilters("remove filter2", {elemhide: [filter3.text], elemhideexcep tion: [filter5.text]}); 101 checkKnownFilters("remove filter2", {elemhide: [filter3.text], elemhideexcep tion: [filter5.text, filter7.text], cssrule: [filter6.text]});
89 FilterStorage.removeFilter(filter4); 102 FilterStorage.removeFilter(filter4);
90 checkKnownFilters("remove filter4", {elemhide: [filter3.text], elemhideexcep tion: [filter5.text]}); 103 checkKnownFilters("remove filter4", {elemhide: [filter3.text], elemhideexcep tion: [filter5.text, filter7.text], cssrule: [filter6.text]});
91 }); 104 });
92 105
93 test("Disabling/enabling filters not in the list", function() 106 test("Disabling/enabling filters not in the list", function()
94 { 107 {
95 let filter1 = Filter.fromText("filter1"); 108 let filter1 = Filter.fromText("filter1");
96 let filter2 = Filter.fromText("@@filter2"); 109 let filter2 = Filter.fromText("@@filter2");
97 let filter3 = Filter.fromText("#filter3"); 110 let filter3 = Filter.fromText("#filter3");
98 let filter4 = Filter.fromText("#@#filter4"); 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']");
99 114
100 filter1.disabled = true; 115 filter1.disabled = true;
101 checkKnownFilters("disable filter1 while not in list", {}); 116 checkKnownFilters("disable filter1 while not in list", {});
102 filter1.disabled = false; 117 filter1.disabled = false;
103 checkKnownFilters("enable filter1 while not in list", {}); 118 checkKnownFilters("enable filter1 while not in list", {});
104 119
105 filter2.disabled = true; 120 filter2.disabled = true;
106 checkKnownFilters("disable @@filter2 while not in list", {}); 121 checkKnownFilters("disable @@filter2 while not in list", {});
107 filter2.disabled = false; 122 filter2.disabled = false;
108 checkKnownFilters("enable @@filter2 while not in list", {}); 123 checkKnownFilters("enable @@filter2 while not in list", {});
109 124
110 filter3.disabled = true; 125 filter3.disabled = true;
111 checkKnownFilters("disable #filter3 while not in list", {}); 126 checkKnownFilters("disable #filter3 while not in list", {});
112 filter3.disabled = false; 127 filter3.disabled = false;
113 checkKnownFilters("enable #filter3 while not in list", {}); 128 checkKnownFilters("enable #filter3 while not in list", {});
114 129
115 filter4.disabled = true; 130 filter4.disabled = true;
116 checkKnownFilters("disable #@#filter4 while not in list", {}); 131 checkKnownFilters("disable #@#filter4 while not in list", {});
117 filter4.disabled = false; 132 filter4.disabled = false;
118 checkKnownFilters("enable #@#filter4 while not in list", {}); 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", {});
119 }); 144 });
120 145
121 test("Filter subscription operations", function() 146 test("Filter subscription operations", function()
122 { 147 {
123 let filter1 = Filter.fromText("filter1"); 148 let filter1 = Filter.fromText("filter1");
124 let filter2 = Filter.fromText("@@filter2"); 149 let filter2 = Filter.fromText("@@filter2");
125 filter2.disabled = true; 150 filter2.disabled = true;
126 let filter3 = Filter.fromText("#filter3"); 151 let filter3 = Filter.fromText("#filter3");
127 let filter4 = Filter.fromText("!filter4"); 152 let filter4 = Filter.fromText("!filter4");
128 let filter5 = Filter.fromText("#@#filter5"); 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']");
129 156
130 let subscription = Subscription.fromURL("http://test1/"); 157 let subscription = Subscription.fromURL("http://test1/");
131 subscription.filters = [filter1, filter2, filter3, filter4, filter5]; 158 subscription.filters = [filter1, filter2, filter3, filter4, filter5, filter6 , filter7];
132 159
133 FilterStorage.addSubscription(subscription); 160 FilterStorage.addSubscription(subscription);
134 checkKnownFilters("add subscription with filter1, @@filter2, #filter3, !filt er4, #@#filter5", {blacklist: [filter1.text], elemhide: [filter3.text], elemhide exception: [filter5.text]}); 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]});
135 162
136 filter2.disabled = false; 163 filter2.disabled = false;
137 checkKnownFilters("enable @@filter2", {blacklist: [filter1.text], whitelist: [filter2.text], elemhide: [filter3.text], elemhideexception: [filter5.text]}); 164 checkKnownFilters("enable @@filter2", {blacklist: [filter1.text], whitelist: [filter2.text], elemhide: [filter3.text], elemhideexception: [filter5.text, fil ter7.text], cssrule: [filter6.text]});
138 165
139 FilterStorage.addFilter(filter1); 166 FilterStorage.addFilter(filter1);
140 checkKnownFilters("add filter1", {blacklist: [filter1.text], whitelist: [fil ter2.text], elemhide: [filter3.text], elemhideexception: [filter5.text]}); 167 checkKnownFilters("add filter1", {blacklist: [filter1.text], whitelist: [fil ter2.text], elemhide: [filter3.text], elemhideexception: [filter5.text, filter7. text], cssrule: [filter6.text]});
141 168
142 FilterStorage.updateSubscriptionFilters(subscription, [filter4]); 169 FilterStorage.updateSubscriptionFilters(subscription, [filter4]);
143 checkKnownFilters("change subscription filters to filter4", {blacklist: [fil ter1.text]}); 170 checkKnownFilters("change subscription filters to filter4", {blacklist: [fil ter1.text]});
144 171
145 FilterStorage.removeFilter(filter1); 172 FilterStorage.removeFilter(filter1);
146 checkKnownFilters("remove filter1", {}); 173 checkKnownFilters("remove filter1", {});
147 174
148 FilterStorage.updateSubscriptionFilters(subscription, [filter1, filter2]); 175 FilterStorage.updateSubscriptionFilters(subscription, [filter1, filter2]);
149 checkKnownFilters("change subscription filters to filter1, filter2", {blackl ist: [filter1.text], whitelist: [filter2.text]}); 176 checkKnownFilters("change subscription filters to filter1, filter2", {blackl ist: [filter1.text], whitelist: [filter2.text]});
150 177
(...skipping 93 matching lines...) Expand 10 before | Expand all | Expand 10 after
244 subscription3.disabled = true; 271 subscription3.disabled = true;
245 checkKnownFilters("disable exception rules", {blacklist: [filter1.text, filt er3.text], whitelist: [filter2.text]}); 272 checkKnownFilters("disable exception rules", {blacklist: [filter1.text, filt er3.text], whitelist: [filter2.text]});
246 273
247 FilterStorage.removeSubscription(subscription4); 274 FilterStorage.removeSubscription(subscription4);
248 checkKnownFilters("remove subscription from the list", {blacklist: [filter1. text]}); 275 checkKnownFilters("remove subscription from the list", {blacklist: [filter1. text]});
249 276
250 subscription3.disabled = false; 277 subscription3.disabled = false;
251 checkKnownFilters("enable exception rules", {blacklist: [filter1.text], whit elist: [filter2.text]}); 278 checkKnownFilters("enable exception rules", {blacklist: [filter1.text], whit elist: [filter2.text]});
252 }); 279 });
253 })(); 280 })();
OLDNEW
« no previous file with comments | « chrome/content/tests/filterClasses.js ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld