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 243 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
254 compareFilter( | 254 compareFilter( |
255 test, filterText, [ | 255 test, filterText, [ |
256 "type=invalid", "text=" + filterText, | 256 "type=invalid", "text=" + filterText, |
257 "reason=filter_elemhideemulation_nodomain" | 257 "reason=filter_elemhideemulation_nodomain" |
258 ] | 258 ] |
259 ); | 259 ); |
260 } | 260 } |
261 checkElemHideEmulationFilterInvalid(""); | 261 checkElemHideEmulationFilterInvalid(""); |
262 checkElemHideEmulationFilterInvalid("~foo.com"); | 262 checkElemHideEmulationFilterInvalid("~foo.com"); |
263 checkElemHideEmulationFilterInvalid("~foo.com,~bar.com"); | 263 checkElemHideEmulationFilterInvalid("~foo.com,~bar.com"); |
| 264 checkElemHideEmulationFilterInvalid("foo"); |
| 265 checkElemHideEmulationFilterInvalid("~foo.com,bar"); |
264 | 266 |
265 test.done(); | 267 test.done(); |
266 }; | 268 }; |
267 | 269 |
268 exports.testFiltersWithState = function(test) | 270 exports.testFiltersWithState = function(test) |
269 { | 271 { |
270 compareFilter(test, "blabla", ["type=filterlist", "text=blabla", "regexp=blabl
a"]); | 272 compareFilter(test, "blabla", ["type=filterlist", "text=blabla", "regexp=blabl
a"]); |
271 compareFilter( | 273 compareFilter( |
272 test, "blabla_default", ["type=filterlist", "text=blabla_default", "regexp=b
labla_default"], | 274 test, "blabla_default", ["type=filterlist", "text=blabla_default", "regexp=b
labla_default"], |
273 filter => | 275 filter => |
(...skipping 98 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
372 compareFilter(test, "Foo,bAr#@#ddd", ["type=elemhideexception", "text=Foo,bAr#
@#ddd", "selectorDomains=foo,bar", "selector=ddd", "domains=bar|foo"]); | 374 compareFilter(test, "Foo,bAr#@#ddd", ["type=elemhideexception", "text=Foo,bAr#
@#ddd", "selectorDomains=foo,bar", "selector=ddd", "domains=bar|foo"]); |
373 compareFilter(test, "foo,~baR#@#ddd", ["type=elemhideexception", "text=foo,~ba
R#@#ddd", "selectorDomains=foo", "selector=ddd", "domains=foo|~bar"]); | 375 compareFilter(test, "foo,~baR#@#ddd", ["type=elemhideexception", "text=foo,~ba
R#@#ddd", "selectorDomains=foo", "selector=ddd", "domains=foo|~bar"]); |
374 compareFilter(test, "foo,~baz,bar#@#ddd", ["type=elemhideexception", "text=foo
,~baz,bar#@#ddd", "selectorDomains=foo,bar", "selector=ddd", "domains=bar|foo|~b
az"]); | 376 compareFilter(test, "foo,~baz,bar#@#ddd", ["type=elemhideexception", "text=foo
,~baz,bar#@#ddd", "selectorDomains=foo,bar", "selector=ddd", "domains=bar|foo|~b
az"]); |
375 | 377 |
376 test.done(); | 378 test.done(); |
377 }; | 379 }; |
378 | 380 |
379 exports.testElemHideEmulationFilters = function(test) | 381 exports.testElemHideEmulationFilters = function(test) |
380 { | 382 { |
381 // Check valid domain combinations | 383 // Check valid domain combinations |
382 compareFilter(test, "foo#?#:-abp-properties(abc)", ["type=elemhideemulation",
"text=foo#?#:-abp-properties(abc)", "selectorDomains=foo", "selector=:-abp-prope
rties(abc)", "domains=foo"]); | |
383 compareFilter(test, "foo,~bar#?#:-abp-properties(abc)", ["type=elemhideemulati
on", "text=foo,~bar#?#:-abp-properties(abc)", "selectorDomains=foo", "selector=:
-abp-properties(abc)", "domains=foo|~bar"]); | |
384 compareFilter(test, "~foo,bar#?#:-abp-properties(abc)", ["type=elemhideemulati
on", "text=~foo,bar#?#:-abp-properties(abc)", "selectorDomains=bar", "selector=:
-abp-properties(abc)", "domains=bar|~foo"]); | |
385 compareFilter(test, "fOO.cOm#?#:-abp-properties(abc)", ["type=elemhideemulatio
n", "text=fOO.cOm#?#:-abp-properties(abc)", "selectorDomains=foo.com", "selector
=:-abp-properties(abc)", "domains=foo.com"]); | 384 compareFilter(test, "fOO.cOm#?#:-abp-properties(abc)", ["type=elemhideemulatio
n", "text=fOO.cOm#?#:-abp-properties(abc)", "selectorDomains=foo.com", "selector
=:-abp-properties(abc)", "domains=foo.com"]); |
386 compareFilter(test, "Foo.com,~bAr.com#?#:-abp-properties(abc)", ["type=elemhid
eemulation", "text=Foo.com,~bAr.com#?#:-abp-properties(abc)", "selectorDomains=f
oo.com", "selector=:-abp-properties(abc)", "domains=foo.com|~bar.com"]); | 385 compareFilter(test, "Foo.com,~bAr.com#?#:-abp-properties(abc)", ["type=elemhid
eemulation", "text=Foo.com,~bAr.com#?#:-abp-properties(abc)", "selectorDomains=f
oo.com", "selector=:-abp-properties(abc)", "domains=foo.com|~bar.com"]); |
387 compareFilter(test, "foo.com,~baR#?#:-abp-properties(abc)", ["type=elemhideemu
lation", "text=foo.com,~baR#?#:-abp-properties(abc)", "selectorDomains=foo.com",
"selector=:-abp-properties(abc)", "domains=foo.com|~bar"]); | 386 compareFilter(test, "foo.com,~baR#?#:-abp-properties(abc)", ["type=elemhideemu
lation", "text=foo.com,~baR#?#:-abp-properties(abc)", "selectorDomains=foo.com",
"selector=:-abp-properties(abc)", "domains=foo.com|~bar"]); |
388 compareFilter(test, "~foo.com,bar.com#?#:-abp-properties(abc)", ["type=elemhid
eemulation", "text=~foo.com,bar.com#?#:-abp-properties(abc)", "selectorDomains=b
ar.com", "selector=:-abp-properties(abc)", "domains=bar.com|~foo.com"]); | 387 compareFilter(test, "~foo.com,bar.com#?#:-abp-properties(abc)", ["type=elemhid
eemulation", "text=~foo.com,bar.com#?#:-abp-properties(abc)", "selectorDomains=b
ar.com", "selector=:-abp-properties(abc)", "domains=bar.com|~foo.com"]); |
389 | 388 |
390 // Check some special cases | 389 // Check some special cases |
391 compareFilter(test, "#?#:-abp-properties(abc)", ["type=invalid", "text=#?#:-ab
p-properties(abc)", "reason=filter_elemhideemulation_nodomain"]); | 390 compareFilter(test, "#?#:-abp-properties(abc)", ["type=invalid", "text=#?#:-ab
p-properties(abc)", "reason=filter_elemhideemulation_nodomain"]); |
392 compareFilter(test, "foo.com#?#abc", ["type=elemhideemulation", "text=foo.com#
?#abc", "selectorDomains=foo.com", "selector=abc", "domains=foo.com"]); | 391 compareFilter(test, "foo.com#?#abc", ["type=elemhideemulation", "text=foo.com#
?#abc", "selectorDomains=foo.com", "selector=abc", "domains=foo.com"]); |
393 compareFilter(test, "foo.com#?#:-abp-foobar(abc)", ["type=elemhideemulation",
"text=foo.com#?#:-abp-foobar(abc)", "selectorDomains=foo.com", "selector=:-abp-f
oobar(abc)", "domains=foo.com"]); | 392 compareFilter(test, "foo.com#?#:-abp-foobar(abc)", ["type=elemhideemulation",
"text=foo.com#?#:-abp-foobar(abc)", "selectorDomains=foo.com", "selector=:-abp-f
oobar(abc)", "domains=foo.com"]); |
394 compareFilter(test, "foo.com#?#aaa :-abp-properties(abc) bbb", ["type=elemhide
emulation", "text=foo.com#?#aaa :-abp-properties(abc) bbb", "selectorDomains=foo
.com", "selector=aaa :-abp-properties(abc) bbb", "domains=foo.com"]); | 393 compareFilter(test, "foo.com#?#aaa :-abp-properties(abc) bbb", ["type=elemhide
emulation", "text=foo.com#?#aaa :-abp-properties(abc) bbb", "selectorDomains=foo
.com", "selector=aaa :-abp-properties(abc) bbb", "domains=foo.com"]); |
395 compareFilter(test, "foo.com#?#:-abp-properties(|background-image: url(data:*)
)", ["type=elemhideemulation", "text=foo.com#?#:-abp-properties(|background-imag
e: url(data:*))", "selectorDomains=foo.com", "selector=:-abp-properties(|backgro
und-image: url(data:*))", "domains=foo.com"]); | 394 compareFilter(test, "foo.com#?#:-abp-properties(|background-image: url(data:*)
)", ["type=elemhideemulation", "text=foo.com#?#:-abp-properties(|background-imag
e: url(data:*))", "selectorDomains=foo.com", "selector=:-abp-properties(|backgro
und-image: url(data:*))", "domains=foo.com"]); |
| 395 |
| 396 // Support element hiding emulation filters for localhost (#6931). |
| 397 compareFilter(test, "localhost#?#:-abp-properties(abc)", ["type=elemhideemulat
ion", "text=localhost#?#:-abp-properties(abc)", "selectorDomains=localhost", "se
lector=:-abp-properties(abc)", "domains=localhost"]); |
| 398 compareFilter(test, "localhost,~www.localhost#?#:-abp-properties(abc)", ["type
=elemhideemulation", "text=localhost,~www.localhost#?#:-abp-properties(abc)", "s
electorDomains=localhost", "selector=:-abp-properties(abc)", "domains=localhost|
~www.localhost"]); |
| 399 compareFilter(test, "~www.localhost,localhost#?#:-abp-properties(abc)", ["type
=elemhideemulation", "text=~www.localhost,localhost#?#:-abp-properties(abc)", "s
electorDomains=localhost", "selector=:-abp-properties(abc)", "domains=localhost|
~www.localhost"]); |
396 | 400 |
397 test.done(); | 401 test.done(); |
398 }; | 402 }; |
399 | 403 |
400 exports.testEmptyElemHideDomains = function(test) | 404 exports.testEmptyElemHideDomains = function(test) |
401 { | 405 { |
402 let emptyDomainFilters = [ | 406 let emptyDomainFilters = [ |
403 ",##selector", ",,,##selector", "~,foo.com##selector", "foo.com,##selector", | 407 ",##selector", ",,,##selector", "~,foo.com##selector", "foo.com,##selector", |
404 ",foo.com##selector", "foo.com,~##selector", | 408 ",foo.com##selector", "foo.com,~##selector", |
405 "foo.com,,bar.com##selector", "foo.com,~,bar.com##selector" | 409 "foo.com,,bar.com##selector", "foo.com,~,bar.com##selector" |
(...skipping 201 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
607 // This compares the references to make sure that both refer to the same | 611 // This compares the references to make sure that both refer to the same |
608 // object (#6815). | 612 // object (#6815). |
609 test.equal(filter1.domains, filter2.domains); | 613 test.equal(filter1.domains, filter2.domains); |
610 | 614 |
611 let filter3 = Filter.fromText("www.example.com##.bar"); | 615 let filter3 = Filter.fromText("www.example.com##.bar"); |
612 | 616 |
613 test.notEqual(filter2.domains, filter3.domains); | 617 test.notEqual(filter2.domains, filter3.domains); |
614 | 618 |
615 test.done(); | 619 test.done(); |
616 }; | 620 }; |
LEFT | RIGHT |