Index: chrome/content/tests/filterClasses.js |
=================================================================== |
--- a/chrome/content/tests/filterClasses.js |
+++ b/chrome/content/tests/filterClasses.js |
@@ -6,17 +6,17 @@ |
{ |
// Filter serialization only writes out essential properties, need to do a full serialization here |
let result = []; |
result.push("text=" + filter.text); |
if (filter instanceof InvalidFilter) |
{ |
result.push("type=invalid"); |
if (filter.reason) |
- result.push("hasReason"); |
+ result.push("reason=" + filter.reason); |
} |
else if (filter instanceof CommentFilter) |
{ |
result.push("type=comment"); |
} |
else if (filter instanceof ActiveFilter) |
{ |
result.push("disabled=" + filter.disabled); |
@@ -177,36 +177,24 @@ |
{ |
compareFilter("!asdf", ["type=comment", "text=!asdf"]); |
compareFilter("!foo#bar", ["type=comment", "text=!foo#bar"]); |
compareFilter("!foo##bar", ["type=comment", "text=!foo##bar"]); |
}); |
test("Invalid filters", function() |
{ |
- compareFilter("/??/", ["type=invalid", "text=/??/", "hasReason"]); |
- |
- compareFilter("#dd(asd)(ddd)", ["type=invalid", "text=#dd(asd)(ddd)", "hasReason"]); |
- { |
- let result = Filter.fromText("#dd(asd)(ddd)").reason; |
- equal(result, Utils.getString("filter_elemhide_duplicate_id"), "#dd(asd)(ddd).reason"); |
- } |
- |
- compareFilter("#*", ["type=invalid", "text=#*", "hasReason"]); |
- { |
- let result = Filter.fromText("#*").reason; |
- equal(result, Utils.getString("filter_elemhide_nocriteria"), "#*.reason"); |
- } |
+ compareFilter("/??/", ["type=invalid", "text=/??/", "reason=filter_invalid_regexp"]); |
+ compareFilter("#dd(asd)(ddd)", ["type=invalid", "text=#dd(asd)(ddd)", "reason=filter_elemhide_duplicate_id"]); |
+ compareFilter("#*", ["type=invalid", "text=#*", "reason=filter_elemhide_nocriteria"]); |
function compareCSSRule(domains) |
{ |
let filterText = domains + "##[-abp-properties='abc']"; |
- compareFilter(filterText, ["type=invalid", "text=" + filterText, "hasReason"]); |
- let reason = Filter.fromText(filterText).reason; |
- equal(reason, Utils.getString("filter_cssproperty_nodomain"), filterText + ".reason"); |
+ compareFilter(filterText, ["type=invalid", "text=" + filterText, "reason=filter_cssproperty_nodomain"]); |
} |
compareCSSRule(""); |
compareCSSRule("~foo.com"); |
compareCSSRule("~foo.com,~bar.com"); |
compareCSSRule("foo"); |
compareCSSRule("~foo.com,bar"); |
}); |
@@ -260,22 +248,22 @@ |
compareFilter("@@|ftp://bla$~script,~other", ["type=whitelist", "text=@@|ftp://bla$~script,~other", "regexp=^ftp\\:\\/\\/bla", "contentType=" + (defaultTypes & ~(t.SCRIPT | t.OTHER))]); |
compareFilter("@@bla$~script,~other,document", ["type=whitelist", "text=@@bla$~script,~other,document", "regexp=bla", "contentType=" + (defaultTypes & ~(t.SCRIPT | t.OTHER) | t.DOCUMENT)]); |
compareFilter("@@bla$~script,~other,~document", ["type=whitelist", "text=@@bla$~script,~other,~document", "regexp=bla", "contentType=" + (defaultTypes & ~(t.SCRIPT | t.OTHER))]); |
compareFilter("@@bla$document", ["type=whitelist", "text=@@bla$document", "regexp=bla", "contentType=" + t.DOCUMENT]); |
compareFilter("@@bla$~script,~other,elemhide", ["type=whitelist", "text=@@bla$~script,~other,elemhide", "regexp=bla", "contentType=" + (defaultTypes & ~(t.SCRIPT | t.OTHER) | t.ELEMHIDE)]); |
compareFilter("@@bla$~script,~other,~elemhide", ["type=whitelist", "text=@@bla$~script,~other,~elemhide", "regexp=bla", "contentType=" + (defaultTypes & ~(t.SCRIPT | t.OTHER))]); |
compareFilter("@@bla$elemhide", ["type=whitelist", "text=@@bla$elemhide", "regexp=bla", "contentType=" + t.ELEMHIDE]); |
- compareFilter("@@bla$~script,~other,donottrack", ["type=invalid", "text=@@bla$~script,~other,donottrack", "hasReason"]); |
- compareFilter("@@bla$~script,~other,~donottrack", ["type=invalid", "text=@@bla$~script,~other,~donottrack", "hasReason"]); |
- compareFilter("@@bla$donottrack", ["type=invalid", "text=@@bla$donottrack", "hasReason"]); |
- compareFilter("@@bla$foobar", ["type=invalid", "text=@@bla$foobar", "hasReason"]); |
- compareFilter("@@bla$image,foobar", ["type=invalid", "text=@@bla$image,foobar", "hasReason"]); |
- compareFilter("@@bla$foobar,image", ["type=invalid", "text=@@bla$foobar,image", "hasReason"]); |
+ compareFilter("@@bla$~script,~other,donottrack", ["type=invalid", "text=@@bla$~script,~other,donottrack", "reason=filter_unknown_option"]); |
+ compareFilter("@@bla$~script,~other,~donottrack", ["type=invalid", "text=@@bla$~script,~other,~donottrack", "reason=filter_unknown_option"]); |
+ compareFilter("@@bla$donottrack", ["type=invalid", "text=@@bla$donottrack", "reason=filter_unknown_option"]); |
+ compareFilter("@@bla$foobar", ["type=invalid", "text=@@bla$foobar", "reason=filter_unknown_option"]); |
+ compareFilter("@@bla$image,foobar", ["type=invalid", "text=@@bla$image,foobar", "reason=filter_unknown_option"]); |
+ compareFilter("@@bla$foobar,image", ["type=invalid", "text=@@bla$foobar,image", "reason=filter_unknown_option"]); |
}); |
test("Element hiding rules", function() |
{ |
compareFilter("#ddd", ["type=elemhide", "text=#ddd", "selector=ddd"]); |
compareFilter("#ddd(fff)", ["type=elemhide", "text=#ddd(fff)", "selector=ddd.fff,ddd#fff"]); |
compareFilter("#ddd(foo=bar)(foo2^=bar2)(foo3*=bar3)(foo4$=bar4)", ["type=elemhide", "text=#ddd(foo=bar)(foo2^=bar2)(foo3*=bar3)(foo4$=bar4)", 'selector=ddd[foo="bar"][foo2^="bar2"][foo3*="bar3"][foo4$="bar4"]']); |
compareFilter("#ddd(fff)(foo=bar)", ["type=elemhide", "text=#ddd(fff)(foo=bar)", 'selector=ddd.fff[foo="bar"],ddd#fff[foo="bar"]']); |