| 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._domainsAccessCount = Infinity; | 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 |