| 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")); |