| 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-2017 eyeo GmbH | 3 * Copyright (C) 2006-2017 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 34 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 45 {trigger: {"url-filter": "^https?://([^/:]*\\.)?test\\.com[/:]", | 45 {trigger: {"url-filter": "^https?://([^/:]*\\.)?test\\.com[/:]", |
| 46 "url-filter-is-case-sensitive": true}, | 46 "url-filter-is-case-sensitive": true}, |
| 47 action: {type: "css-display-none", selector: ".whatever"}} | 47 action: {type: "css-display-none", selector: ".whatever"}} |
| 48 ]); | 48 ]); |
| 49 | 49 |
| 50 test.done(); | 50 test.done(); |
| 51 }, | 51 }, |
| 52 | 52 |
| 53 testElementHidingExceptions: function(test) | 53 testElementHidingExceptions: function(test) |
| 54 { | 54 { |
| 55 // Element hiding rules should be in the following order: (1) generic | |
| 56 // rules, (2) exceptions for generic rules, (3) domain-specific rules, | |
| 57 // (4) exceptions for all rules. | |
| 58 testRules(test, [ | 55 testRules(test, [ |
| 59 "##.whatever", | 56 "##.whatever", |
| 60 "test.com###something", | 57 "test.com###something", |
| 61 "@@||special.test.com^$elemhide", | 58 "@@||special.test.com^$elemhide", |
| 62 "@@||test.com^$generichide" | 59 "@@||test.com^$generichide", |
| 60 "@@^something^$elemhide", |
| 61 "@@^anything^$generichide" |
| 63 ], [ | 62 ], [ |
| 64 ["^https?://", "css-display-none"], | 63 ["^https?://", ["*test.com", "*special.test.com"]], |
| 65 ["^https?://([^/]+\\.)?test\\.com", "ignore-previous-rules"], | 64 ["^https?://([^/:]*\\.)?test\\.com[/:]", ["*special.test.com"]] |
| 66 ["^https?://([^/:]*\\.)?test\\.com[/:]", "css-display-none"], | |
| 67 ["^https?://([^/]+\\.)?special\\.test\\.com", "ignore-previous-rules"] | |
| 68 ], rules => rules.map(rule => [rule.trigger["url-filter"], | 65 ], rules => rules.map(rule => [rule.trigger["url-filter"], |
| 69 rule.action.type])); | 66 rule.trigger["unless-domain"]])); |
| 70 | 67 |
| 71 testRules(test, ["#@#whatever"], []); | 68 testRules(test, ["#@#whatever"], []); |
| 72 testRules(test, ["test.com#@#whatever"], []); | 69 testRules(test, ["test.com#@#whatever"], []); |
| 73 testRules(test, ["~test.com#@#whatever"], []); | 70 testRules(test, ["~test.com#@#whatever"], []); |
| 74 | 71 |
| 75 // We currently completely ignore any element hiding filters that have the | 72 // We currently completely ignore any element hiding filters that have the |
| 76 // same selector as an element hiding exception. In these examples #whatever | 73 // same selector as an element hiding exception. In these examples #whatever |
| 77 // should be hidden for all domains not ending in test.com instead of | 74 // should be hidden for all domains not ending in test.com instead of |
| 78 // nowhere! | 75 // nowhere! |
| 79 testRules(test, ["test.com#@#whatever", "##whatever"], []); | 76 testRules(test, ["test.com#@#whatever", "##whatever"], []); |
| (...skipping 195 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 275 testUnicode: function(test) | 272 testUnicode: function(test) |
| 276 { | 273 { |
| 277 testRules(test, ["$domain=🐈.cat"], ["*xn--zn8h.cat"], | 274 testRules(test, ["$domain=🐈.cat"], ["*xn--zn8h.cat"], |
| 278 rules => rules[0]["trigger"]["if-domain"]); | 275 rules => rules[0]["trigger"]["if-domain"]); |
| 279 testRules(test, ["🐈$domain=🐈.cat"], []); | 276 testRules(test, ["🐈$domain=🐈.cat"], []); |
| 280 testRules(test, ["###🐈"], []); | 277 testRules(test, ["###🐈"], []); |
| 281 | 278 |
| 282 test.done(); | 279 test.done(); |
| 283 } | 280 } |
| 284 }; | 281 }; |
| OLD | NEW |