Index: test/filterListener.js |
=================================================================== |
--- a/test/filterListener.js |
+++ b/test/filterListener.js |
@@ -15,17 +15,17 @@ |
* along with Adblock Plus. If not, see <http://www.gnu.org/licenses/>. |
*/ |
"use strict"; |
const {createSandbox} = require("./_common"); |
let sandboxedRequire = null; |
-let FilterStorage = null; |
+let filterStorage = null; |
let Subscription = null; |
let Filter = null; |
let defaultMatcher = null; |
let SpecialSubscription = null; |
exports.setUp = function(callback) |
{ |
sandboxedRequire = createSandbox({ |
@@ -37,25 +37,25 @@ |
} |
}); |
// 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"); |
( |
- {FilterStorage} = sandboxedRequire("../lib/filterStorage"), |
+ {filterStorage} = sandboxedRequire("../lib/filterStorage"), |
{Subscription, SpecialSubscription} = sandboxedRequire("../lib/subscriptionClasses"), |
{Filter} = sandboxedRequire("../lib/filterClasses"), |
{defaultMatcher} = sandboxedRequire("../lib/matcher") |
); |
- FilterStorage.addSubscription(Subscription.fromURL("~fl~")); |
- FilterStorage.addSubscription(Subscription.fromURL("~wl~")); |
- FilterStorage.addSubscription(Subscription.fromURL("~eh~")); |
+ filterStorage.addSubscription(Subscription.fromURL("~fl~")); |
+ filterStorage.addSubscription(Subscription.fromURL("~wl~")); |
+ filterStorage.addSubscription(Subscription.fromURL("~eh~")); |
Subscription.fromURL("~fl~").defaults = ["blocking"]; |
Subscription.fromURL("~wl~").defaults = ["whitelist"]; |
Subscription.fromURL("~eh~").defaults = ["elemhide"]; |
callback(); |
}; |
@@ -117,38 +117,38 @@ |
let filter1 = Filter.fromText("filter1"); |
let filter2 = Filter.fromText("@@filter2"); |
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); |
+ filterStorage.addFilter(filter1); |
checkKnownFilters(test, "add filter1", {blacklist: [filter1.text]}); |
- FilterStorage.addFilter(filter2); |
+ filterStorage.addFilter(filter2); |
checkKnownFilters(test, "add @@filter2", {blacklist: [filter1.text], whitelist: [filter2.text]}); |
- FilterStorage.addFilter(filter3); |
+ filterStorage.addFilter(filter3); |
checkKnownFilters(test, "add ##filter3", {blacklist: [filter1.text], whitelist: [filter2.text], elemhide: [filter3.text]}); |
- FilterStorage.addFilter(filter4); |
+ filterStorage.addFilter(filter4); |
checkKnownFilters(test, "add !filter4", {blacklist: [filter1.text], whitelist: [filter2.text], elemhide: [filter3.text]}); |
- FilterStorage.addFilter(filter5); |
+ filterStorage.addFilter(filter5); |
checkKnownFilters(test, "add #@#filter5", {blacklist: [filter1.text], whitelist: [filter2.text], elemhide: [filter3.text], elemhideexception: [filter5.text]}); |
- FilterStorage.addFilter(filter6); |
+ filterStorage.addFilter(filter6); |
checkKnownFilters(test, "add example.com##:-abp-properties(filter6)", {blacklist: [filter1.text], whitelist: [filter2.text], elemhide: [filter3.text], elemhideexception: [filter5.text], elemhideemulation: [filter6.text]}); |
- FilterStorage.addFilter(filter7); |
+ filterStorage.addFilter(filter7); |
checkKnownFilters(test, "add example.com#@#[-abp-properties='filter7']", {blacklist: [filter1.text], whitelist: [filter2.text], elemhide: [filter3.text], elemhideexception: [filter5.text, filter7.text], elemhideemulation: [filter6.text]}); |
- FilterStorage.removeFilter(filter1); |
+ filterStorage.removeFilter(filter1); |
checkKnownFilters(test, "remove filter1", {whitelist: [filter2.text], elemhide: [filter3.text], elemhideexception: [filter5.text, filter7.text], elemhideemulation: [filter6.text]}); |
filter2.disabled = true; |
checkKnownFilters(test, "disable filter2", {elemhide: [filter3.text], elemhideexception: [filter5.text, filter7.text], elemhideemulation: [filter6.text]}); |
- FilterStorage.removeFilter(filter2); |
+ filterStorage.removeFilter(filter2); |
checkKnownFilters(test, "remove filter2", {elemhide: [filter3.text], elemhideexception: [filter5.text, filter7.text], elemhideemulation: [filter6.text]}); |
- FilterStorage.removeFilter(filter4); |
+ filterStorage.removeFilter(filter4); |
checkKnownFilters(test, "remove filter4", {elemhide: [filter3.text], elemhideexception: [filter5.text, filter7.text], elemhideemulation: [filter6.text]}); |
test.done(); |
}; |
exports.testDisablingEnablingFiltersNotInTheList = function(test) |
{ |
let filter1 = Filter.fromText("filter1"); |
@@ -200,133 +200,133 @@ |
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, filter6, filter7]; |
- FilterStorage.addSubscription(subscription); |
+ 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]}); |
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); |
+ 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]); |
+ filterStorage.updateSubscriptionFilters(subscription, [filter4]); |
checkKnownFilters(test, "change subscription filters to filter4", {blacklist: [filter1.text]}); |
- FilterStorage.removeFilter(filter1); |
+ filterStorage.removeFilter(filter1); |
checkKnownFilters(test, "remove filter1", {}); |
- FilterStorage.updateSubscriptionFilters(subscription, [filter1, filter2]); |
+ filterStorage.updateSubscriptionFilters(subscription, [filter1, filter2]); |
checkKnownFilters(test, "change subscription filters to filter1, filter2", {blacklist: [filter1.text], whitelist: [filter2.text]}); |
filter1.disabled = true; |
checkKnownFilters(test, "disable filter1", {whitelist: [filter2.text]}); |
filter2.disabled = true; |
checkKnownFilters(test, "disable filter2", {}); |
filter1.disabled = false; |
filter2.disabled = false; |
checkKnownFilters(test, "enable filter1, filter2", {blacklist: [filter1.text], whitelist: [filter2.text]}); |
- FilterStorage.addFilter(filter1); |
+ filterStorage.addFilter(filter1); |
checkKnownFilters(test, "add filter1", {blacklist: [filter1.text], whitelist: [filter2.text]}); |
subscription.disabled = true; |
checkKnownFilters(test, "disable subscription", {blacklist: [filter1.text]}); |
- FilterStorage.removeSubscription(subscription); |
+ filterStorage.removeSubscription(subscription); |
checkKnownFilters(test, "remove subscription", {blacklist: [filter1.text]}); |
- FilterStorage.addSubscription(subscription); |
+ filterStorage.addSubscription(subscription); |
checkKnownFilters(test, "add subscription", {blacklist: [filter1.text]}); |
subscription.disabled = false; |
checkKnownFilters(test, "enable subscription", {blacklist: [filter1.text], whitelist: [filter2.text]}); |
subscription.disabled = true; |
checkKnownFilters(test, "disable subscription", {blacklist: [filter1.text]}); |
- FilterStorage.addFilter(filter2); |
+ filterStorage.addFilter(filter2); |
checkKnownFilters(test, "add filter2", {blacklist: [filter1.text], whitelist: [filter2.text]}); |
- FilterStorage.removeFilter(filter2); |
+ filterStorage.removeFilter(filter2); |
checkKnownFilters(test, "remove filter2", {blacklist: [filter1.text]}); |
subscription.disabled = false; |
checkKnownFilters(test, "enable subscription", {blacklist: [filter1.text], whitelist: [filter2.text]}); |
- FilterStorage.removeSubscription(subscription); |
+ filterStorage.removeSubscription(subscription); |
checkKnownFilters(test, "remove subscription", {blacklist: [filter1.text]}); |
test.done(); |
}; |
exports.testFilterGroupOperations = function(test) |
{ |
let filter1 = Filter.fromText("filter1"); |
let filter2 = Filter.fromText("@@filter2"); |
let filter3 = Filter.fromText("filter3"); |
let filter4 = Filter.fromText("@@filter4"); |
let filter5 = Filter.fromText("!filter5"); |
let subscription = Subscription.fromURL("http://test1/"); |
subscription.filters = [filter1, filter2]; |
- FilterStorage.addSubscription(subscription); |
- FilterStorage.addFilter(filter1); |
+ filterStorage.addSubscription(subscription); |
+ filterStorage.addFilter(filter1); |
checkKnownFilters(test, "initial setup", {blacklist: [filter1.text], whitelist: [filter2.text]}); |
let subscription2 = Subscription.fromURL("~fl~"); |
subscription2.disabled = true; |
checkKnownFilters(test, "disable blocking filters", {blacklist: [filter1.text], whitelist: [filter2.text]}); |
- FilterStorage.removeSubscription(subscription); |
+ filterStorage.removeSubscription(subscription); |
checkKnownFilters(test, "remove subscription", {}); |
subscription2.disabled = false; |
checkKnownFilters(test, "enable blocking filters", {blacklist: [filter1.text]}); |
let subscription3 = Subscription.fromURL("~wl~"); |
subscription3.disabled = true; |
checkKnownFilters(test, "disable exception rules", {blacklist: [filter1.text]}); |
- FilterStorage.addFilter(filter2); |
+ filterStorage.addFilter(filter2); |
checkKnownFilters(test, "add @@filter2", {blacklist: [filter1.text], whitelist: [filter2.text]}); |
test.equal(filter2.subscriptionCount, 1, "@@filter2.subscriptionCount"); |
test.ok([...filter2.subscriptions()][0] instanceof SpecialSubscription, "@@filter2 added to a new filter group"); |
test.ok([...filter2.subscriptions()][0] != subscription3, "@@filter2 filter group is not the disabled exceptions group"); |
subscription3.disabled = false; |
checkKnownFilters(test, "enable exception rules", {blacklist: [filter1.text], whitelist: [filter2.text]}); |
- FilterStorage.removeFilter(filter2); |
- FilterStorage.addFilter(filter2); |
+ filterStorage.removeFilter(filter2); |
+ filterStorage.addFilter(filter2); |
checkKnownFilters(test, "re-add @@filter2", {blacklist: [filter1.text], whitelist: [filter2.text]}); |
test.equal(filter2.subscriptionCount, 1, "@@filter2.subscriptionCount"); |
test.ok([...filter2.subscriptions()][0] == subscription3, "@@filter2 added to the default exceptions group"); |
let subscription4 = Subscription.fromURL("http://test/"); |
- FilterStorage.updateSubscriptionFilters(subscription4, [filter3, filter4, filter5]); |
+ filterStorage.updateSubscriptionFilters(subscription4, [filter3, filter4, filter5]); |
checkKnownFilters(test, "update subscription not in the list yet", {blacklist: [filter1.text], whitelist: [filter2.text]}); |
- FilterStorage.addSubscription(subscription4); |
+ filterStorage.addSubscription(subscription4); |
checkKnownFilters(test, "add subscription to the list", {blacklist: [filter1.text, filter3.text], whitelist: [filter2.text, filter4.text]}); |
- FilterStorage.updateSubscriptionFilters(subscription4, [filter3, filter2, filter5]); |
+ filterStorage.updateSubscriptionFilters(subscription4, [filter3, filter2, filter5]); |
checkKnownFilters(test, "update subscription while in the list", {blacklist: [filter1.text, filter3.text], whitelist: [filter2.text]}); |
subscription3.disabled = true; |
checkKnownFilters(test, "disable exception rules", {blacklist: [filter1.text, filter3.text], whitelist: [filter2.text]}); |
- FilterStorage.removeSubscription(subscription4); |
+ filterStorage.removeSubscription(subscription4); |
checkKnownFilters(test, "remove subscription from the list", {blacklist: [filter1.text]}); |
subscription3.disabled = false; |
checkKnownFilters(test, "enable exception rules", {blacklist: [filter1.text], whitelist: [filter2.text]}); |
test.done(); |
}; |
@@ -334,32 +334,32 @@ |
{ |
let filter1 = Filter.fromText("example.com#$#filter1"); |
let filter2 = Filter.fromText("example.com#$#filter2"); |
let filter3 = Filter.fromText("example.com#$#filter3"); |
let subscription1 = Subscription.fromURL("http://test1/"); |
subscription1.filters = [filter1, filter2]; |
- FilterStorage.addSubscription(subscription1); |
+ filterStorage.addSubscription(subscription1); |
checkKnownFilters(test, "add subscription with filter1 and filter2", {}); |
let subscription2 = Subscription.fromURL("http://test2/"); |
subscription2.type = "circumvention"; |
subscription2.filters = [filter1]; |
- FilterStorage.addSubscription(subscription2); |
+ filterStorage.addSubscription(subscription2); |
checkKnownFilters(test, "add subscription of type circumvention with filter1", {snippets: [filter1.text]}); |
let subscription3 = Subscription.fromURL("~foo"); |
subscription3.filters = [filter2]; |
- FilterStorage.addSubscription(subscription3); |
+ filterStorage.addSubscription(subscription3); |
checkKnownFilters(test, "add special subscription with filter2", {snippets: [filter1.text, filter2.text]}); |
let subscription4 = Subscription.fromURL("https://easylist-downloads.adblockplus.org/abp-filters-anti-cv.txt"); |
subscription4.filters = [filter3]; |
- FilterStorage.addSubscription(subscription4); |
+ filterStorage.addSubscription(subscription4); |
checkKnownFilters(test, "add ABP anti-circumvention subscription with filter3", {snippets: [filter1.text, filter2.text, filter3.text]}); |
test.done(); |
}; |