| Index: chrome/content/tests/filterListener.js |
| =================================================================== |
| --- a/chrome/content/tests/filterListener.js |
| +++ b/chrome/content/tests/filterListener.js |
| @@ -50,11 +50,21 @@ |
| for (let selector in ElemHideGlobal.exceptions) |
| { |
| let list = ElemHideGlobal.exceptions[selector]; |
| - for (let i = 0; i < list.length; i++) |
| - result.elemhideexception.push(list[i].text); |
| + for (let exception of list) |
| + result.elemhideexception.push(exception.text); |
| } |
| - for (let type of ["blacklist", "whitelist", "elemhide", "elemhideexception"]) |
| + let CSSRulesGlobal = getModuleGlobal("cssRules"); |
| + result.cssrule = []; |
| + for (let key in CSSRulesGlobal.filters) |
| + { |
| + let filter = Filter.fromText(key); |
| + result.cssrule.push(filter.text); |
| + } |
| + |
| + let types = ["blacklist", "whitelist", "elemhide", "elemhideexception", |
| + "cssrule"]; |
| + for (let type of types) |
| if (!(type in expected)) |
| expected[type] = []; |
| @@ -68,6 +78,8 @@ |
| let filter3 = Filter.fromText("#filter3"); |
| let filter4 = Filter.fromText("!filter4"); |
| let filter5 = Filter.fromText("#@#filter5"); |
| + let filter6 = Filter.fromText("example.com##[-abp-properties='filter6']"); |
| + let filter7 = Filter.fromText("example.com#@#[-abp-properties='filter7']"); |
| FilterStorage.addFilter(filter1); |
| checkKnownFilters("add filter1", {blacklist: [filter1.text]}); |
| @@ -79,15 +91,19 @@ |
| checkKnownFilters("add !filter4", {blacklist: [filter1.text], whitelist: [filter2.text], elemhide: [filter3.text]}); |
| FilterStorage.addFilter(filter5); |
| checkKnownFilters("add #@#filter5", {blacklist: [filter1.text], whitelist: [filter2.text], elemhide: [filter3.text], elemhideexception: [filter5.text]}); |
| + FilterStorage.addFilter(filter6); |
| + checkKnownFilters("add example.com##[-abp-properties='filter6']", {blacklist: [filter1.text], whitelist: [filter2.text], elemhide: [filter3.text], elemhideexception: [filter5.text], cssrule: [filter6.text]}); |
| + FilterStorage.addFilter(filter7); |
| + checkKnownFilters("add example.com#@#[-abp-properties='filter7']", {blacklist: [filter1.text], whitelist: [filter2.text], elemhide: [filter3.text], elemhideexception: [filter5.text, filter7.text], cssrule: [filter6.text]}); |
| FilterStorage.removeFilter(filter1); |
| - checkKnownFilters("remove filter1", {whitelist: [filter2.text], elemhide: [filter3.text], elemhideexception: [filter5.text]}); |
| + checkKnownFilters("remove filter1", {whitelist: [filter2.text], elemhide: [filter3.text], elemhideexception: [filter5.text, filter7.text], cssrule: [filter6.text]}); |
| filter2.disabled = true; |
| - checkKnownFilters("disable filter2", {elemhide: [filter3.text], elemhideexception: [filter5.text]}); |
| + checkKnownFilters("disable filter2", {elemhide: [filter3.text], elemhideexception: [filter5.text, filter7.text], cssrule: [filter6.text]}); |
| FilterStorage.removeFilter(filter2); |
| - checkKnownFilters("remove filter2", {elemhide: [filter3.text], elemhideexception: [filter5.text]}); |
| + checkKnownFilters("remove filter2", {elemhide: [filter3.text], elemhideexception: [filter5.text, filter7.text], cssrule: [filter6.text]}); |
| FilterStorage.removeFilter(filter4); |
| - checkKnownFilters("remove filter4", {elemhide: [filter3.text], elemhideexception: [filter5.text]}); |
| + checkKnownFilters("remove filter4", {elemhide: [filter3.text], elemhideexception: [filter5.text, filter7.text], cssrule: [filter6.text]}); |
| }); |
| test("Disabling/enabling filters not in the list", function() |
| @@ -96,6 +112,8 @@ |
| let filter2 = Filter.fromText("@@filter2"); |
| let filter3 = Filter.fromText("#filter3"); |
| let filter4 = Filter.fromText("#@#filter4"); |
| + let filter5 = Filter.fromText("example.com##[-abp-properties='filter5']"); |
| + let filter6 = Filter.fromText("example.com#@#[-abp-properties='filter6']"); |
| filter1.disabled = true; |
| checkKnownFilters("disable filter1 while not in list", {}); |
| @@ -116,6 +134,16 @@ |
| checkKnownFilters("disable #@#filter4 while not in list", {}); |
| filter4.disabled = false; |
| checkKnownFilters("enable #@#filter4 while not in list", {}); |
| + |
| + filter5.disabled = true; |
| + checkKnownFilters("disable example.com##[-abp-properties='filter5'] while not in list", {}); |
| + filter5.disabled = false; |
| + checkKnownFilters("enable example.com##[-abp-properties='filter5'] while not in list", {}); |
| + |
| + filter6.disabled = true; |
| + checkKnownFilters("disable example.com#@#[-abp-properties='filter6'] while not in list", {}); |
| + filter6.disabled = false; |
| + checkKnownFilters("enable example.com#@#[-abp-properties='filter6'] while not in list", {}); |
| }); |
| test("Filter subscription operations", function() |
| @@ -126,18 +154,20 @@ |
| let filter3 = Filter.fromText("#filter3"); |
| let filter4 = Filter.fromText("!filter4"); |
| let filter5 = Filter.fromText("#@#filter5"); |
| + let filter6 = Filter.fromText("example.com##[-abp-properties='filter6']"); |
| + let filter7 = Filter.fromText("example.com#@#[-abp-properties='filter7']"); |
| let subscription = Subscription.fromURL("http://test1/"); |
| - subscription.filters = [filter1, filter2, filter3, filter4, filter5]; |
| + subscription.filters = [filter1, filter2, filter3, filter4, filter5, filter6, filter7]; |
| FilterStorage.addSubscription(subscription); |
| - checkKnownFilters("add subscription with filter1, @@filter2, #filter3, !filter4, #@#filter5", {blacklist: [filter1.text], elemhide: [filter3.text], elemhideexception: [filter5.text]}); |
| + checkKnownFilters("add subscription with filter1, @@filter2, #filter3, !filter4, #@#filter5, example.com##[-abp-properties='filter6'], example.com#@#[-abp-properties='filter7']", {blacklist: [filter1.text], elemhide: [filter3.text], elemhideexception: [filter5.text, filter7.text], cssrule: [filter6.text]}); |
| filter2.disabled = false; |
| - checkKnownFilters("enable @@filter2", {blacklist: [filter1.text], whitelist: [filter2.text], elemhide: [filter3.text], elemhideexception: [filter5.text]}); |
| + checkKnownFilters("enable @@filter2", {blacklist: [filter1.text], whitelist: [filter2.text], elemhide: [filter3.text], elemhideexception: [filter5.text, filter7.text], cssrule: [filter6.text]}); |
| FilterStorage.addFilter(filter1); |
| - checkKnownFilters("add filter1", {blacklist: [filter1.text], whitelist: [filter2.text], elemhide: [filter3.text], elemhideexception: [filter5.text]}); |
| + checkKnownFilters("add filter1", {blacklist: [filter1.text], whitelist: [filter2.text], elemhide: [filter3.text], elemhideexception: [filter5.text, filter7.text], cssrule: [filter6.text]}); |
| FilterStorage.updateSubscriptionFilters(subscription, [filter4]); |
| checkKnownFilters("change subscription filters to filter4", {blacklist: [filter1.text]}); |