| OLD | NEW | 
|    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 99 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  110  |  110  | 
|  111   ElemHide.remove(filter3); |  111   ElemHide.remove(filter3); | 
|  112   filter3.delete(); |  112   filter3.delete(); | 
|  113   selectors = ElemHide.getSelectorsForDomain("example.com", 0); |  113   selectors = ElemHide.getSelectorsForDomain("example.com", 0); | 
|  114   test.equal(selectors.selectorCount, 2); |  114   test.equal(selectors.selectorCount, 2); | 
|  115   selectors.delete(); |  115   selectors.delete(); | 
|  116  |  116  | 
|  117   test.done(); |  117   test.done(); | 
|  118 }; |  118 }; | 
|  119  |  119  | 
 |  120 exports.testSyntaxConversion = function(test) | 
 |  121 { | 
 |  122   function checkConvertedFilter(old, converted) | 
 |  123   { | 
 |  124     let filter = Filter.fromText(old); | 
 |  125  | 
 |  126     test.equal(filter.text, converted); | 
 |  127   } | 
 |  128  | 
 |  129   checkConvertedFilter("example.com#?#foo[-abp-properties='something']bar", "exa
     mple.com#?#foo:-abp-properties(something)bar"); | 
 |  130   checkConvertedFilter("example.com#@#foo[-abp-properties='something']bar", "exa
     mple.com#@#foo:-abp-properties(something)bar"); | 
 |  131   checkConvertedFilter("example.com#?#[-abp-properties=\"something\"]", "example
     .com#?#:-abp-properties(something)"); | 
 |  132   checkConvertedFilter("example.com#?#[-abp-properties=(something)]", "example.c
     om#?#:-abp-properties((something))"); | 
 |  133  | 
 |  134   test.done(); | 
 |  135 }; | 
 |  136  | 
|  120 exports.testDomainRestrictions = function(test) |  137 exports.testDomainRestrictions = function(test) | 
|  121 { |  138 { | 
|  122   function testSelectorMatches(description, filters, domain, expectedMatches) |  139   function testSelectorMatches(description, filters, domain, expectedMatches) | 
|  123   { |  140   { | 
|  124     for (let text of filters) |  141     for (let text of filters) | 
|  125     { |  142     { | 
|  126       let filter = Filter.fromText(text); |  143       let filter = Filter.fromText(text); | 
|  127       if (filter instanceof ElemHideEmulationFilter) |  144       if (filter instanceof ElemHideEmulationFilter) | 
|  128         ElemHideEmulation.add(filter); |  145         ElemHideEmulation.add(filter); | 
|  129       else |  146       else | 
| (...skipping 12 matching lines...) Expand all  Loading... | 
|  142     test.deepEqual(matches.sort(), expectedMatches.sort(), description); |  159     test.deepEqual(matches.sort(), expectedMatches.sort(), description); | 
|  143     rules.delete(); |  160     rules.delete(); | 
|  144  |  161  | 
|  145     ElemHideEmulation.clear(); |  162     ElemHideEmulation.clear(); | 
|  146     ElemHide.clear(); |  163     ElemHide.clear(); | 
|  147   } |  164   } | 
|  148  |  165  | 
|  149   testSelectorMatches( |  166   testSelectorMatches( | 
|  150     "Ignore generic filters", |  167     "Ignore generic filters", | 
|  151     [ |  168     [ | 
|  152       "##[-abp-properties='foo']", "example.com##[-abp-properties='foo']", |  169       "#?#:-abp-properties(foo)", "example.com#?#:-abp-properties(foo)", | 
|  153       "~example.com##[-abp-properties='foo']" |  170       "~example.com##:-abp-properties(foo)" | 
|  154     ], |  171     ], | 
|  155     "example.com", |  172     "example.com", | 
|  156     ["example.com##[-abp-properties='foo']"] |  173     ["example.com#?#:-abp-properties(foo)"] | 
|  157   ); |  174   ); | 
|  158   testSelectorMatches( |  175   testSelectorMatches( | 
|  159     "Ignore selectors with exceptions", |  176     "Ignore selectors with exceptions", | 
|  160     [ |  177     [ | 
|  161       "example.com##[-abp-properties='foo']", |  178       "example.com#?#:-abp-properties(foo)", | 
|  162       "example.com##[-abp-properties='bar']", |  179       "example.com#?#:-abp-properties(bar)", | 
|  163       "example.com#@#[-abp-properties='foo']" |  180       "example.com#@#:-abp-properties(foo)" | 
|  164     ], |  181     ], | 
|  165     "example.com", |  182     "example.com", | 
|  166     ["example.com##[-abp-properties='bar']"] |  183     ["example.com#?#:-abp-properties(bar)"] | 
|  167   ); |  184   ); | 
|  168   testSelectorMatches( |  185   testSelectorMatches( | 
|  169     "Ignore filters that include parent domain but exclude subdomain", |  186     "Ignore filters that include parent domain but exclude subdomain", | 
|  170     [ |  187     [ | 
|  171       "~www.example.com,example.com##[-abp-properties='foo']" |  188       "~www.example.com,example.com#?#:-abp-properties(foo)" | 
|  172     ], |  189     ], | 
|  173     "www.example.com", |  190     "www.example.com", | 
|  174     [] |  191     [] | 
|  175   ); |  192   ); | 
|  176   testSelectorMatches( |  193   testSelectorMatches( | 
|  177     "Ignore filters with parent domain if exception matches subdomain", |  194     "Ignore filters with parent domain if exception matches subdomain", | 
|  178     [ |  195     [ | 
|  179       "www.example.com#@#[-abp-properties='foo']", |  196       "www.example.com#@#:-abp-properties(foo)", | 
|  180       "example.com##[-abp-properties='foo']" |  197       "example.com#?#:-abp-properties(foo)" | 
|  181     ], |  198     ], | 
|  182     "www.example.com", |  199     "www.example.com", | 
|  183     [] |  200     [] | 
|  184   ); |  201   ); | 
|  185   testSelectorMatches( |  202   testSelectorMatches( | 
|  186     "Ignore filters for other subdomain", |  203     "Ignore filters for other subdomain", | 
|  187     [ |  204     [ | 
|  188       "www.example.com##[-abp-properties='foo']", |  205       "www.example.com#?#:-abp-properties(foo)", | 
|  189       "other.example.com##[-abp-properties='foo']" |  206       "other.example.com#?#:-abp-properties(foo)" | 
|  190     ], |  207     ], | 
|  191     "other.example.com", |  208     "other.example.com", | 
|  192     ["other.example.com##[-abp-properties='foo']"] |  209     ["other.example.com#?#:-abp-properties(foo)"] | 
|  193   ); |  210   ); | 
|  194  |  211  | 
|  195   test.done(); |  212   test.done(); | 
|  196 }; |  213 }; | 
|  197  |  214  | 
|  198 exports.testElemHideEmulationFiltersContainer = function(test) |  215 exports.testElemHideEmulationFiltersContainer = function(test) | 
|  199 { |  216 { | 
|  200   function compareRules(description, domain, expectedMatches) |  217   function compareRules(description, domain, expectedMatches) | 
|  201   { |  218   { | 
|  202     let rules = ElemHideEmulation.getRulesForDomain(domain); |  219     let rules = ElemHideEmulation.getRulesForDomain(domain); | 
| (...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  235  |  252  | 
|  236   ElemHideEmulation.clear(); |  253   ElemHideEmulation.clear(); | 
|  237   compareRules( |  254   compareRules( | 
|  238     "Return no filters after clearing", |  255     "Return no filters after clearing", | 
|  239     "www.example.com", |  256     "www.example.com", | 
|  240     [] |  257     [] | 
|  241   ); |  258   ); | 
|  242  |  259  | 
|  243   test.done(); |  260   test.done(); | 
|  244 }; |  261 }; | 
| OLD | NEW |