Index: test/matcher.js |
=================================================================== |
--- a/test/matcher.js |
+++ b/test/matcher.js |
@@ -53,27 +53,27 @@ |
matcher.add(dummyFilter); |
} |
} |
test.equal(result.join(", "), expected.join(", "), "Keyword candidates for " + filter.text); |
} |
} |
-function checkMatch(test, filters, location, contentType, docDomain, thirdParty, sitekey, specificOnly, expected) |
+function checkMatch(test, filters, location, contentType, docDomain, thirdParty, sitekey, specificOnly, expected, expectedFirstMatch = expected) |
Manish Jethani
2018/11/01 01:00:34
A standalone matcher will always return the first
|
{ |
let matcher = new Matcher(); |
for (let filter of filters) |
matcher.add(Filter.fromText(filter)); |
let result = matcher.matchesAny(location, RegExpFilter.typeMap[contentType], docDomain, thirdParty, sitekey, specificOnly); |
if (result) |
result = result.text; |
- test.equal(result, expected, "match(" + location + ", " + contentType + ", " + docDomain + ", " + (thirdParty ? "third-party" : "first-party") + ", " + (sitekey || "no-sitekey") + ", " + (specificOnly ? "specificOnly" : "not-specificOnly") + ") with:\n" + filters.join("\n")); |
+ test.equal(result, expectedFirstMatch, "match(" + location + ", " + contentType + ", " + docDomain + ", " + (thirdParty ? "third-party" : "first-party") + ", " + (sitekey || "no-sitekey") + ", " + (specificOnly ? "specificOnly" : "not-specificOnly") + ") with:\n" + filters.join("\n")); |
let combinedMatcher = new CombinedMatcher(); |
for (let i = 0; i < 2; i++) |
{ |
for (let filter of filters) |
combinedMatcher.add(Filter.fromText(filter)); |
result = combinedMatcher.matchesAny(location, RegExpFilter.typeMap[contentType], docDomain, thirdParty, sitekey, specificOnly); |
@@ -204,16 +204,19 @@ |
checkMatch(test, ["abc$sitekey=foo-publickey,domain=foo.com", "abc$sitekey=bar-publickey,domain=bar.com"], "http://abc/def", "IMAGE", "bar.com", false, "foo-publickey", false, null); |
checkMatch(test, ["abc$sitekey=foo-publickey,domain=foo.com", "abc$sitekey=bar-publickey,domain=bar.com"], "http://abc/def", "IMAGE", "bar.com", false, "bar-publickey", false, "abc$sitekey=bar-publickey,domain=bar.com"); |
checkMatch(test, ["@@foo.com$generichide"], "http://foo.com/bar", "GENERICHIDE", "foo.com", false, null, false, "@@foo.com$generichide"); |
checkMatch(test, ["@@foo.com$genericblock"], "http://foo.com/bar", "GENERICBLOCK", "foo.com", false, null, false, "@@foo.com$genericblock"); |
checkMatch(test, ["@@bar.com$generichide"], "http://foo.com/bar", "GENERICHIDE", "foo.com", false, null, false, null); |
checkMatch(test, ["@@bar.com$genericblock"], "http://foo.com/bar", "GENERICBLOCK", "foo.com", false, null, false, null); |
checkMatch(test, ["/bar"], "http://foo.com/bar", "IMAGE", "foo.com", false, null, true, null); |
checkMatch(test, ["/bar$domain=foo.com"], "http://foo.com/bar", "IMAGE", "foo.com", false, null, true, "/bar$domain=foo.com"); |
+ checkMatch(test, ["@@||foo.com^"], "http://foo.com/bar", "IMAGE", "foo.com", false, null, false, null, "@@||foo.com^"); |
Manish Jethani
2018/11/01 01:00:34
Here "expectedFirstMatch" is the whitelist filter
|
+ checkMatch(test, ["/bar", "@@||foo.com^"], "http://foo.com/bar", "IMAGE", "foo.com", false, null, false, "@@||foo.com^"); |
+ checkMatch(test, ["/bar", "@@||foo.com^"], "http://foo.com/foo", "IMAGE", "foo.com", false, null, false, null, "@@||foo.com^"); |
test.done(); |
}; |
exports.testResultCacheChecks = function(test) |
{ |
let matcher = new CombinedMatcher(); |
matcher.add(Filter.fromText("abc$image")); |