LEFT | RIGHT |
1 /* | 1 /* |
2 * This file is part of Adblock Plus <https://adblockplus.org/>, | 2 * This file is part of Adblock Plus <https://adblockplus.org/>, |
3 * Copyright (C) 2006-present eyeo GmbH | 3 * Copyright (C) 2006-present eyeo GmbH |
4 * | 4 * |
5 * Adblock Plus is free software: you can redistribute it and/or modify | 5 * Adblock Plus is free software: you can redistribute it and/or modify |
6 * it under the terms of the GNU General Public License version 3 as | 6 * it under the terms of the GNU General Public License version 3 as |
7 * published by the Free Software Foundation. | 7 * published by the Free Software Foundation. |
8 * | 8 * |
9 * Adblock Plus is distributed in the hope that it will be useful, | 9 * Adblock Plus is distributed in the hope that it will be useful, |
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of | 10 * but WITHOUT ANY WARRANTY; without even the implied warranty of |
(...skipping 326 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
337 | 337 |
338 compareFilter(test, "@@bla$~script,~other,donottrack", ["type=invalid", "text=
@@bla$~script,~other,donottrack", "reason=filter_unknown_option"]); | 338 compareFilter(test, "@@bla$~script,~other,donottrack", ["type=invalid", "text=
@@bla$~script,~other,donottrack", "reason=filter_unknown_option"]); |
339 compareFilter(test, "@@bla$~script,~other,~donottrack", ["type=invalid", "text
=@@bla$~script,~other,~donottrack", "reason=filter_unknown_option"]); | 339 compareFilter(test, "@@bla$~script,~other,~donottrack", ["type=invalid", "text
=@@bla$~script,~other,~donottrack", "reason=filter_unknown_option"]); |
340 compareFilter(test, "@@bla$donottrack", ["type=invalid", "text=@@bla$donottrac
k", "reason=filter_unknown_option"]); | 340 compareFilter(test, "@@bla$donottrack", ["type=invalid", "text=@@bla$donottrac
k", "reason=filter_unknown_option"]); |
341 compareFilter(test, "@@bla$foobar", ["type=invalid", "text=@@bla$foobar", "rea
son=filter_unknown_option"]); | 341 compareFilter(test, "@@bla$foobar", ["type=invalid", "text=@@bla$foobar", "rea
son=filter_unknown_option"]); |
342 compareFilter(test, "@@bla$image,foobar", ["type=invalid", "text=@@bla$image,f
oobar", "reason=filter_unknown_option"]); | 342 compareFilter(test, "@@bla$image,foobar", ["type=invalid", "text=@@bla$image,f
oobar", "reason=filter_unknown_option"]); |
343 compareFilter(test, "@@bla$foobar,image", ["type=invalid", "text=@@bla$foobar,
image", "reason=filter_unknown_option"]); | 343 compareFilter(test, "@@bla$foobar,image", ["type=invalid", "text=@@bla$foobar,
image", "reason=filter_unknown_option"]); |
344 | 344 |
345 compareFilter(test, "bla$csp", ["type=invalid", "text=bla$csp", "reason=filter
_invalid_csp"]); | 345 compareFilter(test, "bla$csp", ["type=invalid", "text=bla$csp", "reason=filter
_invalid_csp"]); |
346 compareFilter(test, "bla$csp=", ["type=invalid", "text=bla$csp=", "reason=filt
er_invalid_csp"]); | 346 compareFilter(test, "bla$csp=", ["type=invalid", "text=bla$csp=", "reason=filt
er_invalid_csp"]); |
| 347 |
| 348 // Blank CSP values are allowed for whitelist filters. |
| 349 compareFilter(test, "@@bla$csp", ["type=whitelist", "text=@@bla$csp", "regexp=
bla", "contentType=" + t.CSP]); |
| 350 compareFilter(test, "@@bla$csp=", ["type=whitelist", "text=@@bla$csp=", "regex
p=bla", "contentType=" + t.CSP]); |
| 351 |
347 compareFilter(test, "bla$csp=report-uri", ["type=invalid", "text=bla$csp=repor
t-uri", "reason=filter_invalid_csp"]); | 352 compareFilter(test, "bla$csp=report-uri", ["type=invalid", "text=bla$csp=repor
t-uri", "reason=filter_invalid_csp"]); |
348 compareFilter(test, "bla$csp=foo,csp=report-to", ["type=invalid", "text=bla$cs
p=foo,csp=report-to", "reason=filter_invalid_csp"]); | 353 compareFilter(test, "bla$csp=foo,csp=report-to", ["type=invalid", "text=bla$cs
p=foo,csp=report-to", "reason=filter_invalid_csp"]); |
349 compareFilter(test, "bla$csp=foo,csp=referrer foo", ["type=invalid", "text=bla
$csp=foo,csp=referrer foo", "reason=filter_invalid_csp"]); | 354 compareFilter(test, "bla$csp=foo,csp=referrer foo", ["type=invalid", "text=bla
$csp=foo,csp=referrer foo", "reason=filter_invalid_csp"]); |
350 compareFilter(test, "bla$csp=foo,csp=base-uri", ["type=invalid", "text=bla$csp
=foo,csp=base-uri", "reason=filter_invalid_csp"]); | 355 compareFilter(test, "bla$csp=foo,csp=base-uri", ["type=invalid", "text=bla$csp
=foo,csp=base-uri", "reason=filter_invalid_csp"]); |
351 compareFilter(test, "bla$csp=foo,csp=upgrade-insecure-requests", ["type=invali
d", "text=bla$csp=foo,csp=upgrade-insecure-requests", "reason=filter_invalid_csp
"]); | 356 compareFilter(test, "bla$csp=foo,csp=upgrade-insecure-requests", ["type=invali
d", "text=bla$csp=foo,csp=upgrade-insecure-requests", "reason=filter_invalid_csp
"]); |
352 compareFilter(test, "bla$csp=foo,csp=ReFeRReR", ["type=invalid", "text=bla$csp
=foo,csp=ReFeRReR", "reason=filter_invalid_csp"]); | 357 compareFilter(test, "bla$csp=foo,csp=ReFeRReR", ["type=invalid", "text=bla$csp
=foo,csp=ReFeRReR", "reason=filter_invalid_csp"]); |
353 | 358 |
354 test.done(); | 359 test.done(); |
355 }; | 360 }; |
356 | 361 |
(...skipping 241 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
598 test.equal( | 603 test.equal( |
599 filterStrip.rewriteUrl("http://example.com/?tag"), | 604 filterStrip.rewriteUrl("http://example.com/?tag"), |
600 "http://example.com/?" | 605 "http://example.com/?" |
601 ); | 606 ); |
602 | 607 |
603 test.done(); | 608 test.done(); |
604 }; | 609 }; |
605 | 610 |
606 exports.testDomainMapDeduplication = function(test) | 611 exports.testDomainMapDeduplication = function(test) |
607 { | 612 { |
608 // Make sure the generated domain map is cached on first access. | 613 let filter1 = Filter.fromText("foo$domain=blocking.example.com"); |
609 ActiveFilter.prototype._domainsAccessCacheThreshold = 0; | 614 let filter2 = Filter.fromText("bar$domain=blocking.example.com"); |
610 | 615 let filter3 = Filter.fromText("elemhide.example.com##.foo"); |
611 let filter1 = Filter.fromText("example.com##.foo"); | 616 let filter4 = Filter.fromText("elemhide.example.com##.bar"); |
612 let filter2 = Filter.fromText("example.com##.bar"); | |
613 | 617 |
614 // This compares the references to make sure that both refer to the same | 618 // This compares the references to make sure that both refer to the same |
615 // object (#6815). | 619 // object (#6815). |
616 test.equal(filter1.domains, filter2.domains); | 620 test.equal(filter1.domains, filter2.domains); |
617 | 621 |
618 let filter3 = Filter.fromText("www.example.com##.bar"); | 622 // For element hiding filters, the value of the property is cached internally |
619 | 623 // only on second access. |
620 test.notEqual(filter2.domains, filter3.domains); | 624 test.notEqual(filter3.domains, filter4.domains); |
621 | 625 test.equal(filter3.domains, filter4.domains); |
622 test.done(); | 626 |
623 }; | 627 let filter5 = Filter.fromText("bar$domain=www.example.com"); |
| 628 let filter6 = Filter.fromText("www.example.com##.bar"); |
| 629 |
| 630 test.notEqual(filter2.domains, filter5.domains); |
| 631 |
| 632 // Check twice for element hiding filters to make sure the internal cached |
| 633 // values are also not equal. |
| 634 test.notEqual(filter4.domains, filter6.domains); |
| 635 test.notEqual(filter4.domains, filter6.domains); |
| 636 |
| 637 test.done(); |
| 638 }; |
LEFT | RIGHT |