| 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-2016 Eyeo GmbH | 3 * Copyright (C) 2006-2016 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 55 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 66 test.done(); | 66 test.done(); |
| 67 }, | 67 }, |
| 68 | 68 |
| 69 testRequestFilters: function(test) | 69 testRequestFilters: function(test) |
| 70 { | 70 { |
| 71 testRules(test, ["/foo", "||test.com", "http://example.com/foo"], [ | 71 testRules(test, ["/foo", "||test.com", "http://example.com/foo"], [ |
| 72 {trigger: {"url-filter": "^https?://.*/foo", | 72 {trigger: {"url-filter": "^https?://.*/foo", |
| 73 "resource-type": ["image", "style-sheet", "script", "font", | 73 "resource-type": ["image", "style-sheet", "script", "font", |
| 74 "media", "raw", "document"]}, | 74 "media", "raw", "document"]}, |
| 75 action: {type: "block"}}, | 75 action: {type: "block"}}, |
| 76 {trigger: {"url-filter": "^https?://test\\.com", | 76 {trigger: {"url-filter": "^https?://([^/]+\\.)?test\\.com", |
| 77 "url-filter-is-case-sensitive": true, | 77 "url-filter-is-case-sensitive": true, |
| 78 "resource-type": ["image", "style-sheet", "script", "font", | 78 "resource-type": ["image", "style-sheet", "script", "font", |
| 79 "media", "raw", "document"]}, | 79 "media", "raw", "document"]}, |
| 80 action: {type: "block"}}, | 80 action: {type: "block"}}, |
| 81 {trigger: {"url-filter": "http://example\\.com/foo", | 81 {trigger: {"url-filter": "http://example\\.com/foo", |
| 82 "resource-type": ["image", "style-sheet", "script", "font", | 82 "resource-type": ["image", "style-sheet", "script", "font", |
| 83 "media", "raw", "document"]}, | 83 "media", "raw", "document"]}, |
| 84 action: {type: "block"}} | 84 action: {type: "block"}} |
| 85 ]); | 85 ]); |
| 86 | 86 |
| 87 testRules(test, ["||example.com"], [ |
| 88 {trigger: {"url-filter": "^https?://([^/]+\\.)?example\\.com", |
| 89 "url-filter-is-case-sensitive": true, |
| 90 "resource-type": ["image", "style-sheet", "script", "font", |
| 91 "media", "raw", "document"]}, |
| 92 |
| 93 action: {type: "block"}} |
| 94 ]); |
| 95 |
| 96 |
| 87 test.done(); | 97 test.done(); |
| 88 }, | 98 }, |
| 89 | 99 |
| 90 testRequestFilterExceptions: function(test) | 100 testRequestFilterExceptions: function(test) |
| 91 { | 101 { |
| 92 testRules(test, ["@@example.com"], [ | 102 testRules(test, ["@@example.com"], [ |
| 93 {trigger: {"url-filter": "^https?://.*example\\.com", | 103 {trigger: {"url-filter": "^https?://.*example\\.com", |
| 94 "resource-type": ["image", "style-sheet", "script", "font", | 104 "resource-type": ["image", "style-sheet", "script", "font", |
| 95 "media", "raw", "document"]}, | 105 "media", "raw", "document"]}, |
| 96 action: {type: "ignore-previous-rules"}} | 106 action: {type: "ignore-previous-rules"}} |
| 97 ]); | 107 ]); |
| 98 | 108 |
| 109 testRules(test, ["@@||example.com"], [ |
| 110 {trigger: {"url-filter": "^https?://([^/]+\\.)?example\\.com", |
| 111 "url-filter-is-case-sensitive": true, |
| 112 "resource-type": ["image", "style-sheet", "script", "font", |
| 113 "media", "raw", "document"]}, |
| 114 action: {type: "ignore-previous-rules"}} |
| 115 ]); |
| 116 |
| 99 test.done(); | 117 test.done(); |
| 100 }, | 118 }, |
| 101 | 119 |
| 102 testElementIDattributeFormat: function(test) | 120 testElementIDattributeFormat: function(test) |
| 103 { | 121 { |
| 104 testRules(test, | 122 testRules(test, |
| 105 ["###example", "test.com###EXAMPLE"], | 123 ["###example", "test.com###EXAMPLE"], |
| 106 ["[id=example]", "[id=EXAMPLE]"], | 124 ["[id=example]", "[id=EXAMPLE]"], |
| 107 rules => rules.map(rule => rule.action.selector)); | 125 rules => rules.map(rule => rule.action.selector)); |
| 108 | 126 |
| 109 test.done(); | 127 test.done(); |
| 110 }, | 128 }, |
| 111 | 129 |
| 112 testDomainWhitelisting: function(test) | 130 testDomainWhitelisting: function(test) |
| 113 { | 131 { |
| 114 testRules(test, ["@@||example.com^$document"], [ | 132 testRules(test, ["@@||example.com^$document"], [ |
| 115 {trigger: {"url-filter": ".*", | 133 {trigger: {"url-filter": ".*", |
| 116 "if-domain": ["example.com", "www.example.com"]}, | 134 "if-domain": ["example.com", "www.example.com"]}, |
| 117 action: {type: "ignore-previous-rules"}} | 135 action: {type: "ignore-previous-rules"}} |
| 118 ]); | 136 ]); |
| 119 testRules(test, ["@@||example.com^$document,image"], [ | 137 testRules(test, ["@@||example.com^$document,image"], [ |
| 120 {trigger: {"url-filter": ".*", | 138 {trigger: {"url-filter": ".*", |
| 121 "if-domain": ["example.com", "www.example.com"]}, | 139 "if-domain": ["example.com", "www.example.com"]}, |
| 122 action: {type: "ignore-previous-rules"}}, | 140 action: {type: "ignore-previous-rules"}}, |
| 123 {trigger: {"url-filter": "^https?://example\\.com", | 141 {trigger: {"url-filter": "^https?://([^/]+\\.)?example\\.com", |
| 124 "url-filter-is-case-sensitive": true, | 142 "url-filter-is-case-sensitive": true, |
| 125 "resource-type": ["image"]}, | 143 "resource-type": ["image"]}, |
| 126 action: {type: "ignore-previous-rules"}} | 144 action: {type: "ignore-previous-rules"}} |
| 127 ]); | 145 ]); |
| 128 testRules(test, ["@@||example.com/path^$font,document"], [ | 146 testRules(test, ["@@||example.com/path^$font,document"], [ |
| 129 {trigger: {"url-filter": "^https?://example\\.com/path", | 147 {trigger: {"url-filter": "^https?://([^/]+\\.)?example\\.com/path", |
| 130 "resource-type": ["font"]}, | 148 "resource-type": ["font"]}, |
| 131 action: {type: "ignore-previous-rules"}} | 149 action: {type: "ignore-previous-rules"}} |
| 132 ]); | 150 ]); |
| 133 | 151 |
| 134 test.done(); | 152 test.done(); |
| 135 }, | 153 }, |
| 136 | 154 |
| 137 testRuleOrdering: function(test) | 155 testRuleOrdering: function(test) |
| 138 { | 156 { |
| 139 testRules( | 157 testRules( |
| (...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 207 testUnicode: function(test) | 225 testUnicode: function(test) |
| 208 { | 226 { |
| 209 testRules(test, ["$domain=🐈.cat"], ["xn--zn8h.cat", "www.xn--zn8h.cat"], | 227 testRules(test, ["$domain=🐈.cat"], ["xn--zn8h.cat", "www.xn--zn8h.cat"], |
| 210 rules => rules[0]["trigger"]["if-domain"]); | 228 rules => rules[0]["trigger"]["if-domain"]); |
| 211 testRules(test, ["🐈$domain=🐈.cat"], []); | 229 testRules(test, ["🐈$domain=🐈.cat"], []); |
| 212 testRules(test, ["###🐈"], []); | 230 testRules(test, ["###🐈"], []); |
| 213 | 231 |
| 214 test.done(); | 232 test.done(); |
| 215 } | 233 } |
| 216 }; | 234 }; |
| OLD | NEW |