Index: test/elemHideEmulation.js |
=================================================================== |
--- a/test/elemHideEmulation.js |
+++ b/test/elemHideEmulation.js |
@@ -163,16 +163,32 @@ |
0, selectors => |
test.equal(selectors.selectorCount, 2))( |
elemHide.getSelectorsForDomain("example.com", 0)); |
})(ElemHide.create()); |
test.done(); |
}; |
+exports.testSyntaxConversion = function(test) |
+{ |
+ function checkConvertedFilter(old, converted) |
+ { |
+ withNAD( |
+ 0, filter => test.equal(filter.text, converted))(Filter.fromText(old)); |
+ } |
+ |
+ checkConvertedFilter("example.com##foo[-abp-properties='something']bar", "example.com#?#foo:-abp-properties(something)bar"); |
+ checkConvertedFilter("example.com#@#foo[-abp-properties='something']bar", "example.com#@#foo:-abp-properties(something)bar"); |
+ checkConvertedFilter("example.com##[-abp-properties=\"something\"]", "example.com#?#:-abp-properties(something)"); |
+ checkConvertedFilter("example.com##[-abp-properties=(something)]", "example.com#?#:-abp-properties((something))"); |
+ |
+ test.done(); |
+}; |
+ |
exports.testDomainRestrictions = function(test) |
{ |
function testSelectorMatches(description, filters, domain, expectedMatches) |
{ |
withNAD([0, 1], (elemHide, elemHideEmulation) => |
{ |
let addFilter = withNAD(0, filter => |
{ |
@@ -198,57 +214,57 @@ |
elemHideEmulation.clear(); |
})(ElemHide.create(), ElemHideEmulation.create()); |
} |
testSelectorMatches( |
"Ignore generic filters", |
[ |
- "##[-abp-properties='foo']", "example.com##[-abp-properties='foo']", |
- "~example.com##[-abp-properties='foo']" |
+ "#?#:-abp-properties(foo)", "example.com#?#:-abp-properties(foo)", |
+ "~example.com##:-abp-properties(foo)" |
], |
"example.com", |
- ["example.com##[-abp-properties='foo']"] |
+ ["example.com#?#:-abp-properties(foo)"] |
); |
testSelectorMatches( |
"Ignore selectors with exceptions", |
[ |
- "example.com##[-abp-properties='foo']", |
- "example.com##[-abp-properties='bar']", |
- "example.com#@#[-abp-properties='foo']" |
+ "example.com#?#:-abp-properties(foo)", |
+ "example.com#?#:-abp-properties(bar)", |
+ "example.com#@#:-abp-properties(foo)" |
], |
"example.com", |
- ["example.com##[-abp-properties='bar']"] |
+ ["example.com#?#:-abp-properties(bar)"] |
); |
testSelectorMatches( |
"Ignore filters that include parent domain but exclude subdomain", |
[ |
- "~www.example.com,example.com##[-abp-properties='foo']" |
+ "~www.example.com,example.com#?#:-abp-properties(foo)" |
], |
"www.example.com", |
[] |
); |
testSelectorMatches( |
"Ignore filters with parent domain if exception matches subdomain", |
[ |
- "www.example.com#@#[-abp-properties='foo']", |
- "example.com##[-abp-properties='foo']" |
+ "www.example.com#@#:-abp-properties(foo)", |
+ "example.com#?#:-abp-properties(foo)" |
], |
"www.example.com", |
[] |
); |
testSelectorMatches( |
"Ignore filters for other subdomain", |
[ |
- "www.example.com##[-abp-properties='foo']", |
- "other.example.com##[-abp-properties='foo']" |
+ "www.example.com#?#:-abp-properties(foo)", |
+ "other.example.com#?#:-abp-properties(foo)" |
], |
"other.example.com", |
- ["other.example.com##[-abp-properties='foo']"] |
+ ["other.example.com#?#:-abp-properties(foo)"] |
); |
test.done(); |
}; |
exports.testElemHideEmulationFiltersContainer = function(test) |
{ |
withNAD([0, 1], (elemHide, elemHideEmulation) => |