| Index: test/abp2blocklist.js |
| =================================================================== |
| --- a/test/abp2blocklist.js |
| +++ b/test/abp2blocklist.js |
| @@ -76,33 +76,58 @@ |
| testRules(test, ["test.com#@#whatever", "##whatever"], []); |
| testRules(test, ["~test.com##whatever"], []); |
| test.done(); |
| }, |
| testRequestFilters: function(test) |
| { |
| - testRules(test, ["/foo", "||test.com", "http://example.com/foo"], [ |
| - {trigger: {"url-filter": "^https?://.*/foo", |
| - "resource-type": ["image", "style-sheet", "script", "font", |
| - "media", "raw"]}, |
| - action: {type: "block"}}, |
| - {trigger: {"url-filter": "^https?://([^/]+\\.)?test\\.com", |
| - "url-filter-is-case-sensitive": true, |
| - "resource-type": ["image", "style-sheet", "script", "font", |
| - "media", "raw", "document"], |
| - "unless-top-url": ["^https?://([^/]+\\.)?test\\.com"], |
| - "top-url-filter-is-case-sensitive": true}, |
| - action: {type: "block"}}, |
| - {trigger: {"url-filter": "http://example\\.com/foo", |
| - "resource-type": ["image", "style-sheet", "script", "font", |
| - "media", "raw", "document"], |
| - "unless-top-url": ["http://example\\.com/foo"]}, |
| - action: {type: "block"}} |
| + testRules(test, [ |
| + "/foo", "||test.com^", "http://example.com/foo", "^foo^" |
| + ], [ |
| + { |
| + trigger: { |
| + "url-filter": "^https?://.*/foo", |
| + "resource-type": ["image", "style-sheet", "script", "font", |
| + "media", "raw"] |
| + }, |
| + action: {type: "block"} |
| + }, |
| + { |
| + trigger: { |
| + "url-filter": "^https?://([^/]+\\.)?test\\.com([^-_.%a-z0-9].*)?$", |
| + "url-filter-is-case-sensitive": true, |
| + "resource-type": ["image", "style-sheet", "script", "font", |
| + "media", "raw", "document"], |
| + "unless-top-url": [ |
| + "^https?://([^/]+\\.)?test\\.com([^-_.%a-z0-9].*)?$" |
| + ], |
| + "top-url-filter-is-case-sensitive": true |
| + }, |
| + action: {type: "block"} |
| + }, |
| + { |
| + trigger: { |
| + "url-filter": "http://example\\.com/foo", |
| + "resource-type": ["image", "style-sheet", "script", "font", |
| + "media", "raw", "document"], |
| + "unless-top-url": ["http://example\\.com/foo"] |
| + }, |
| + action: {type: "block"} |
| + }, |
| + { |
| + trigger: { |
| + "url-filter": |
| + "^https?://(.*[^-_.%A-Za-z0-9])?foo([^-_.%A-Za-z0-9].*)?$", |
| + "resource-type": ["image", "style-sheet", "script", "font", |
| + "media", "raw"] |
| + }, |
| + action: {type: "block"} |
| + } |
| ]); |
| testRules(test, ["||example.com"], [ |
| {trigger: {"url-filter": "^https?://([^/]+\\.)?example\\.com", |
| "url-filter-is-case-sensitive": true, |
| "resource-type": ["image", "style-sheet", "script", "font", |
| "media", "raw", "document"], |
| "unless-top-url": ["^https?://([^/]+\\.)?example\\.com"], |
| @@ -145,33 +170,50 @@ |
| rules => rules.map(rule => rule.action.selector)); |
| test.done(); |
| }, |
| testDomainWhitelisting: function(test) |
| { |
| testRules(test, ["@@||example.com^$document"], [ |
| - {trigger: {"url-filter": ".*", |
| - "if-domain": ["*example.com"]}, |
| - action: {type: "ignore-previous-rules"}} |
| + { |
| + trigger: { |
| + "url-filter": ".*", |
| + "if-domain": ["*example.com"] |
| + }, |
| + action: {type: "ignore-previous-rules"} |
| + } |
| ]); |
| testRules(test, ["@@||example.com^$document,image"], [ |
| - {trigger: {"url-filter": ".*", |
| - "if-domain": ["*example.com"]}, |
| - action: {type: "ignore-previous-rules"}}, |
| - {trigger: {"url-filter": "^https?://([^/]+\\.)?example\\.com", |
| - "url-filter-is-case-sensitive": true, |
| - "resource-type": ["image"]}, |
| - action: {type: "ignore-previous-rules"}} |
| + { |
| + trigger: { |
| + "url-filter": ".*", |
| + "if-domain": ["*example.com"] |
| + }, |
| + action: {type: "ignore-previous-rules"} |
| + }, |
| + { |
| + trigger: { |
| + "url-filter": "^https?://([^/]+\\.)?example\\.com([^-_.%a-z0-9].*)?$", |
| + "url-filter-is-case-sensitive": true, |
| + "resource-type": ["image"] |
| + }, |
| + action: {type: "ignore-previous-rules"} |
| + } |
| ]); |
| testRules(test, ["@@||example.com/path^$font,document"], [ |
| - {trigger: {"url-filter": "^https?://([^/]+\\.)?example\\.com/path", |
| - "resource-type": ["font"]}, |
| - action: {type: "ignore-previous-rules"}} |
| + { |
| + trigger: { |
| + "url-filter": |
| + "^https?://([^/]+\\.)?example\\.com/path([^-_.%A-Za-z0-9].*)?$", |
| + "resource-type": ["font"] |
| + }, |
| + action: {type: "ignore-previous-rules"} |
| + } |
| ]); |
| test.done(); |
| }, |
| testGenericblockExceptions: function(test) |
| { |
| testRules(test, ["^ad.jpg|", "@@||example.com^$genericblock"], |