Left: | ||
Right: |
LEFT | RIGHT |
---|---|
1 (function() | 1 (function() |
2 { | 2 { |
3 module("Matching of blocking filters", {setup: prepareFilterComponents, teardo wn: restoreFilterComponents}); | 3 module("Matching of blocking filters", {setup: prepareFilterComponents, teardo wn: restoreFilterComponents}); |
4 | |
5 let publickeys = { | |
6 /* | |
7 -----BEGIN RSA PRIVATE KEY----- | |
8 MIIBOgIBAAJBANLNgMGCl6kc3QE/73/ESBsuhzCNQWApqWS1nKVWf+RjDTiF80LD | |
9 2TiTdQhlW9mlWsDDbttsDlEcCmPVz6H3OUMCAwEAAQJBALo/ZSYTqsl4ve7vvTwG | |
10 gKq7ZihIdV1wEcDwELGoBiESo87zl//7q2q9/7VE3dB3Qp6uZMLtxVvXzF8bh074 | |
11 OuECIQDzzenwgPVMtg6OjMtZBAB95oKaTzd+x/8JienKW4edEQIhAN1Y+vlB/waB | |
12 miRjGMrsOQDHhUbxyL6NXaPfxYlosYETAiBg0M9qgztl+BH1x7FkqvMrC+OnNXf7 | |
13 L552gj7F7ez/kQIgOBNhyaHxlNlijpNYZZhAvLTPS/DXFYdE0M5RAgW26mcCIDrR | |
14 fi2xaM2NqJQCmyshtNmDxW2FCrtrQn1n0211WCEe | |
15 -----END RSA PRIVATE KEY----- | |
16 */ | |
17 foo: "MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBANLNgMGCl6kc3QE/73/ESBsuhzCNQWApqWS1nK VWf+RjDTiF80LD2TiTdQhlW9mlWsDDbttsDlEcCmPVz6H3OUMCAwEAAQ", | |
18 /* | |
19 -----BEGIN RSA PRIVATE KEY----- | |
20 MIIBOgIBAAJBALlKJGIBHYU3rIWyGmiwUgK1BUUomSBgLzSngoE7gBc7mqgCsEbj | |
21 f9EJ5AvQIM1x7MhVsD5djpqHLcjiQlZFXfECAwEAAQJABEK7MXG7HwwXsH9W8h9T | |
22 03IcK+nyE3eCvmA3tQcMO/x93imcBdNiz7ev09wGIPDN3Kmauf70/QnjebuDSV9A | |
23 XQIhAN57+YUwDdGccxqZyj+wRuU5pA1rltIDBQByBLRGd6YjAiEA1TPE2PdWrSsp | |
24 S6VZoRPWIEebfH/ufWZEFfYKDwP9qtsCIEk3JSr2YGXNhXeIiq0g1oPSzzD3af+c | |
25 rMWzv+aPlgpfAiAvtSLiTg6GN3dJJxn0UmUC2iMv68ypIN4xb9n2XDVCKwIhAJkd | |
26 evN4qUcg1kCeQ4LZ5F4WUus+4kd2+Y1nnYQbOrE9 | |
27 -----END RSA PRIVATE KEY----- | |
28 */ | |
29 bar: "MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBALlKJGIBHYU3rIWyGmiwUgK1BUUomSBgLzSngo E7gBc7mqgCsEbjf9EJ5AvQIM1x7MhVsD5djpqHLcjiQlZFXfECAwEAAQ" | |
Wladimir Palant
2014/09/10 21:55:06
Here as well: given that the keys aren't actually
Thomas Greiner
2014/12/11 14:33:55
Done.
| |
30 }; | |
31 | |
32 function beautifyKeys(str) | |
33 { | |
34 if (typeof str != "string") | |
35 return str; | |
36 | |
37 return str.replace(publickeys.foo, "foo-publickey", "g") | |
38 .replace(publickeys.bar, "bar-publickey", "g"); | |
39 } | |
40 | 4 |
41 function testMatch(text, location, contentType, docDomain, thirdParty, sitekey , expected) | 5 function testMatch(text, location, contentType, docDomain, thirdParty, sitekey , expected) |
42 { | 6 { |
43 function testMatch_internal(text, location, contentType, docDomain, thirdPar ty, sitekey, expected) | 7 function testMatch_internal(text, location, contentType, docDomain, thirdPar ty, sitekey, expected) |
44 { | 8 { |
45 let filter = Filter.fromText(text); | 9 let filter = Filter.fromText(text); |
46 let result = filter.matches(location, contentType, docDomain, thirdParty, sitekey); | 10 let result = filter.matches(location, contentType, docDomain, thirdParty, sitekey); |
47 equal(!!result, expected, '"' + beautifyKeys(text) + '".matches(' + locati on + ", " + contentType + ", " + docDomain + ", " + (thirdParty ? "third-party" : "first-party") + ", " + (sitekey ? beautifyKeys(sitekey) : "no-sitekey") + ")" ); | 11 equal(!!result, expected, '"' + text + '".matches(' + location + ", " + co ntentType + ", " + docDomain + ", " + (thirdParty ? "third-party" : "first-party ") + ", " + (sitekey || "no-sitekey") + ")"); |
48 } | 12 } |
49 testMatch_internal(text, location, contentType, docDomain, thirdParty, sitek ey, expected); | 13 testMatch_internal(text, location, contentType, docDomain, thirdParty, sitek ey, expected); |
50 if (!/^@@/.test(text)) | 14 if (!/^@@/.test(text)) |
51 testMatch_internal("@@" + text, location, contentType, docDomain, thirdPar ty, sitekey, expected); | 15 testMatch_internal("@@" + text, location, contentType, docDomain, thirdPar ty, sitekey, expected); |
52 } | 16 } |
53 | 17 |
54 test("Basic filters", function() | 18 test("Basic filters", function() |
55 { | 19 { |
56 testMatch("abc", "http://abc/adf", "IMAGE", null, false, null, true); | 20 testMatch("abc", "http://abc/adf", "IMAGE", null, false, null, true); |
57 testMatch("abc", "http://ABC/adf", "IMAGE", null, false, null, true); | 21 testMatch("abc", "http://ABC/adf", "IMAGE", null, false, null, true); |
(...skipping 248 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
306 testMatch("abc$domain=foo.com,image", "http://abc/def", "OBJECT", "foo.com", true, null, false); | 270 testMatch("abc$domain=foo.com,image", "http://abc/def", "OBJECT", "foo.com", true, null, false); |
307 testMatch("abc$domain=foo.com,image", "http://abc/def", "OBJECT", "bar.com", true, null, false); | 271 testMatch("abc$domain=foo.com,image", "http://abc/def", "OBJECT", "bar.com", true, null, false); |
308 testMatch("abc$domain=foo.com,~image", "http://abc/def", "IMAGE", "foo.com", true, null, false); | 272 testMatch("abc$domain=foo.com,~image", "http://abc/def", "IMAGE", "foo.com", true, null, false); |
309 testMatch("abc$domain=foo.com,~image", "http://abc/def", "IMAGE", "bar.com", true, null, false); | 273 testMatch("abc$domain=foo.com,~image", "http://abc/def", "IMAGE", "bar.com", true, null, false); |
310 testMatch("abc$domain=foo.com,~image", "http://abc/def", "OBJECT", "foo.com" , true, null, true); | 274 testMatch("abc$domain=foo.com,~image", "http://abc/def", "OBJECT", "foo.com" , true, null, true); |
311 testMatch("abc$domain=foo.com,~image", "http://abc/def", "OBJECT", "bar.com" , true, null, false); | 275 testMatch("abc$domain=foo.com,~image", "http://abc/def", "OBJECT", "bar.com" , true, null, false); |
312 }); | 276 }); |
313 | 277 |
314 test("Sitekey restrictions", function() | 278 test("Sitekey restrictions", function() |
315 { | 279 { |
316 testMatch("abc$sitekey=" + publickeys.foo, "http://abc/def", "IMAGE", "foo.c om", true, publickeys.foo, true); | 280 testMatch("abc$sitekey=foo-publickey", "http://abc/def", "IMAGE", "foo.com", true, "foo-publickey", true); |
317 testMatch("abc$sitekey=" + publickeys.foo, "http://abc/def", "IMAGE", "foo.c om", true, null, false); | 281 testMatch("abc$sitekey=foo-publickey", "http://abc/def", "IMAGE", "foo.com", true, null, false); |
Wladimir Palant
2014/09/10 21:55:06
What about the scenario where the sitekey is prese
Thomas Greiner
2014/12/11 14:33:55
Done.
| |
318 testMatch("abc$sitekey=" + publickeys.foo + "|" + publickeys.bar, "http://ab c/def", "IMAGE", "foo.com", true, publickeys.foo, true); | 282 testMatch("abc$sitekey=foo-publickey", "http://abc/def", "IMAGE", "foo.com", true, "bar-publickey", false); |
319 testMatch("abc$sitekey=" + publickeys.foo + "|" + publickeys.bar, "http://ab c/def", "IMAGE", "foo.com", true, null, false); | 283 testMatch("abc$sitekey=foo-publickey|bar-publickey", "http://abc/def", "IMAG E", "foo.com", true, "foo-publickey", true); |
320 testMatch("abc$sitekey=" + publickeys.bar + "|" + publickeys.foo, "http://ab c/def", "IMAGE", "foo.com", true, publickeys.foo, true); | 284 testMatch("abc$sitekey=foo-publickey|bar-publickey", "http://abc/def", "IMAG E", "foo.com", true, null, false); |
321 testMatch("abc$sitekey=" + publickeys.foo, "http://ccc/def", "IMAGE", "foo.c om", true, publickeys.foo, false); | 285 testMatch("abc$sitekey=bar-publickey|foo-publickey", "http://abc/def", "IMAG E", "foo.com", true, "foo-publickey", true); |
322 testMatch("abc$image,sitekey=" + publickeys.foo, "http://abc/def", "IMAGE", "foo.com", true, publickeys.foo, true); | 286 testMatch("abc$sitekey=foo-publickey", "http://ccc/def", "IMAGE", "foo.com", true, "foo-publickey", false); |
323 testMatch("abc$image,sitekey=" + publickeys.foo, "http://abc/def", "OBJECT", "foo.com", true, publickeys.foo, false); | 287 testMatch("abc$domain=foo.com,sitekey=foo-publickey", "http://abc/def", "IMA GE", "foo.com", true, "foo-publickey", true); |
324 testMatch("abc$~image,sitekey=" + publickeys.foo, "http://abc/def", "IMAGE", "foo.com", true, publickeys.foo, false); | 288 testMatch("abc$domain=foo.com,sitekey=foo-publickey", "http://abc/def", "IMA GE", "bar.com", true, "foo-publickey", false); |
325 testMatch("abc$~image,sitekey=" + publickeys.foo, "http://abc/def", "OBJECT" , "foo.com", true, publickeys.foo, true); | 289 testMatch("abc$domain=~foo.com,sitekey=foo-publickey", "http://abc/def", "IM AGE", "foo.com", true, "foo-publickey", false); |
326 testMatch("abc$sitekey=" + publickeys.foo + ",image", "http://abc/def", "IMA GE", "foo.com", true, publickeys.foo, true); | 290 testMatch("abc$domain=~foo.com,sitekey=foo-publickey", "http://abc/def", "IM AGE", "bar.com", true, "foo-publickey", true); |
327 testMatch("abc$sitekey=" + publickeys.foo + ",image", "http://abc/def", "OBJ ECT", "foo.com", true, publickeys.foo, false); | 291 testMatch("abc$domain=bar.com,sitekey=foo-publickey", "http://abc/def", "IMA GE", "foo.com", true, "foo-publickey", false); |
328 testMatch("abc$sitekey=" + publickeys.foo + ",~image", "http://abc/def", "IM AGE", "foo.com", true, publickeys.foo, false); | 292 testMatch("abc$domain=bar.com,sitekey=foo-publickey", "http://abc/def", "IMA GE", "bar.com", true, "foo-publickey", true); |
Wladimir Palant
2014/12/11 15:57:47
Nit: the last two tests are redundant, they test t
| |
329 testMatch("abc$sitekey=" + publickeys.foo + ",~image", "http://abc/def", "OB JECT", "foo.com", true, publickeys.foo, true); | |
Wladimir Palant
2014/09/10 21:55:06
This should test how the sitekeys get along with d
Thomas Greiner
2014/12/11 14:33:55
Done. Let me know if it makes sense to also includ
| |
330 }); | 293 }); |
331 | 294 |
332 test("Exception rules", function() | 295 test("Exception rules", function() |
333 { | 296 { |
334 testMatch("@@test", "http://test/", "DOCUMENT", null, false, null, false); | 297 testMatch("@@test", "http://test/", "DOCUMENT", null, false, null, false); |
335 testMatch("@@http://test*", "http://test/", "DOCUMENT", null, false, null, t rue); | 298 testMatch("@@http://test*", "http://test/", "DOCUMENT", null, false, null, t rue); |
336 testMatch("@@ftp://test*", "ftp://test/", "DOCUMENT", null, false, null, tru e); | 299 testMatch("@@ftp://test*", "ftp://test/", "DOCUMENT", null, false, null, tru e); |
337 testMatch("@@test$document", "http://test/", "DOCUMENT", null, false, null, true); | 300 testMatch("@@test$document", "http://test/", "DOCUMENT", null, false, null, true); |
338 testMatch("@@test$document,image", "http://test/", "DOCUMENT", null, false, null, true); | 301 testMatch("@@test$document,image", "http://test/", "DOCUMENT", null, false, null, true); |
339 testMatch("@@test$~image", "http://test/", "DOCUMENT", null, false, null, fa lse); | 302 testMatch("@@test$~image", "http://test/", "DOCUMENT", null, false, null, fa lse); |
340 testMatch("@@test$~image,document", "http://test/", "DOCUMENT", null, false, null, true); | 303 testMatch("@@test$~image,document", "http://test/", "DOCUMENT", null, false, null, true); |
341 testMatch("@@test$document,~image", "http://test/", "DOCUMENT", null, false, null, true); | 304 testMatch("@@test$document,~image", "http://test/", "DOCUMENT", null, false, null, true); |
342 testMatch("@@test$document,domain=foo.com", "http://test/", "DOCUMENT", "foo .com", false, null, true); | 305 testMatch("@@test$document,domain=foo.com", "http://test/", "DOCUMENT", "foo .com", false, null, true); |
343 testMatch("@@test$document,domain=foo.com", "http://test/", "DOCUMENT", "bar .com", false, null, false); | 306 testMatch("@@test$document,domain=foo.com", "http://test/", "DOCUMENT", "bar .com", false, null, false); |
344 testMatch("@@test$document,domain=~foo.com", "http://test/", "DOCUMENT", "fo o.com", false, null, false); | 307 testMatch("@@test$document,domain=~foo.com", "http://test/", "DOCUMENT", "fo o.com", false, null, false); |
345 testMatch("@@test$document,domain=~foo.com", "http://test/", "DOCUMENT", "ba r.com", false, null, true); | 308 testMatch("@@test$document,domain=~foo.com", "http://test/", "DOCUMENT", "ba r.com", false, null, true); |
346 testMatch("@@test$document,sitekey=" + publickeys.foo, "http://test/", "DOCU MENT", "foo.com", false, publickeys.foo, true); | 309 testMatch("@@test$document,sitekey=foo-publickey", "http://test/", "DOCUMENT ", "foo.com", false, "foo-publickey", true); |
347 testMatch("@@test$document,sitekey=" + publickeys.foo, "http://test/", "DOCU MENT", "foo.com", false, null, false); | 310 testMatch("@@test$document,sitekey=foo-publickey", "http://test/", "DOCUMENT ", "foo.com", false, null, false); |
348 }); | 311 }); |
349 })(); | 312 })(); |
LEFT | RIGHT |