Index: test/filterListener.js |
=================================================================== |
--- a/test/filterListener.js |
+++ b/test/filterListener.js |
@@ -27,17 +27,18 @@ |
let SpecialSubscription = null; |
let ElemHideException = null; |
exports.setUp = function(callback) |
{ |
sandboxedRequire = createSandbox({ |
extraExports: { |
elemHide: ["knownFilters"], |
- elemHideEmulation: ["filters"] |
+ elemHideEmulation: ["filters"], |
+ snippets: ["filters"] |
} |
}); |
// We need to require the filterListener module so that filter changes will be |
// noticed, even though we don't directly use the module here. |
sandboxedRequire("../lib/filterListener"); |
( |
@@ -89,18 +90,23 @@ |
result.elemhide.push(filter.text); |
} |
let elemHideEmulation = sandboxedRequire("../lib/elemHideEmulation"); |
result.elemhideemulation = []; |
for (let filterText of elemHideEmulation.filters) |
result.elemhideemulation.push(filterText); |
+ let snippets = sandboxedRequire("../lib/snippets"); |
+ result.snippets = []; |
+ for (let filterText of snippets.filters) |
+ result.snippets.push(filterText); |
+ |
let types = ["blacklist", "whitelist", "elemhide", "elemhideexception", |
- "elemhideemulation"]; |
+ "elemhideemulation", "snippets"]; |
for (let type of types) |
{ |
if (!(type in expected)) |
expected[type] = []; |
else |
expected[type].sort(); |
result[type].sort(); |
} |
@@ -192,31 +198,39 @@ |
let filter1 = Filter.fromText("filter1"); |
let filter2 = Filter.fromText("@@filter2"); |
filter2.disabled = true; |
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 filter8 = Filter.fromText("example.com#$#filter8"); |
let subscription = Subscription.fromURL("http://test1/"); |
- subscription.filters = [filter1, filter2, filter3, filter4, filter5, filter6, filter7]; |
+ subscription.filters = [filter1, filter2, filter3, filter4, filter5, filter6, filter7, filter8]; |
FilterStorage.addSubscription(subscription); |
- checkKnownFilters(test, "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], elemhideemulation: [filter6.text]}); |
+ // The snippet filter is not added because this is not a circumvention list. |
+ checkKnownFilters(test, "add subscription with filter1, @@filter2, ##filter3, !filter4, #@#filter5, example.com#?#:-abp-properties(filter6), example.com#@#[-abp-properties='filter7'], example.com#$#filter8", {blacklist: [filter1.text], elemhide: [filter3.text], elemhideexception: [filter5.text, filter7.text], elemhideemulation: [filter6.text], snippets: []}); |
filter2.disabled = false; |
checkKnownFilters(test, "enable @@filter2", {blacklist: [filter1.text], whitelist: [filter2.text], elemhide: [filter3.text], elemhideexception: [filter5.text, filter7.text], elemhideemulation: [filter6.text]}); |
FilterStorage.addFilter(filter1); |
checkKnownFilters(test, "add filter1", {blacklist: [filter1.text], whitelist: [filter2.text], elemhide: [filter3.text], elemhideexception: [filter5.text, filter7.text], elemhideemulation: [filter6.text]}); |
- FilterStorage.updateSubscriptionFilters(subscription, [filter4]); |
- checkKnownFilters(test, "change subscription filters to filter4", {blacklist: [filter1.text]}); |
+ subscription.type = "circumvention"; |
+ |
+ FilterStorage.updateSubscriptionFilters(subscription, [filter4, filter8]); |
+ // Now the subscription type is "circumvention" so the snippet filter gets |
+ // added. |
+ checkKnownFilters(test, "change subscription filters to filter4 and filter8", {blacklist: [filter1.text], snippets: [filter8.text]}); |
+ |
+ filter8.disabled = true; |
FilterStorage.removeFilter(filter1); |
checkKnownFilters(test, "remove filter1", {}); |
FilterStorage.updateSubscriptionFilters(subscription, [filter1, filter2]); |
checkKnownFilters(test, "change subscription filters to filter1, filter2", {blacklist: [filter1.text], whitelist: [filter2.text]}); |
filter1.disabled = true; |