Fix: reject malformed domain rules (#3917)
Co-authored-by: copilot-swe-agent[bot] <[email protected]> Co-authored-by: Loyalsoldier <[email protected]>
This commit is contained in:
1 parent
21f09bcdba
commit
e449533a4a
3 files changed
+35
-3
No files matched your search
@@ -22,10 +22,19 @@ func TestParseEntry(t *testing.T) {
|
||||
{name: "duplicated attrs", typ: "domain", rule: "example.com @ads @ads", wantPlain: "domain:example.com:@ads"},
|
||||
{name: "affiliations", typ: "domain", rule: "example.com &other @ads", wantPlain: "domain:example.com:@ads", wantAffs: []string{"OTHER"}},
|
||||
{name: "regexp", typ: "regexp", rule: `^example\.com$`, wantPlain: `regexp:^example\.com$`},
|
||||
{name: "tld", typ: "domain", rule: "google", wantPlain: "domain:google"},
|
||||
{name: "hyphen inside", typ: "domain", rule: "my-example.com", wantPlain: "domain:my-example.com"},
|
||||
{name: "keyword allows partial", typ: "keyword", rule: "-ads-", wantPlain: "keyword:-ads-"},
|
||||
{name: "invalid regexp", typ: "regexp", rule: "^example(", wantErr: true},
|
||||
{name: "empty rule", typ: "domain", rule: " ", wantErr: true},
|
||||
{name: "unknown type", typ: "prefix", rule: "example.com", wantErr: true},
|
||||
{name: "invalid domain", typ: "domain", rule: "exa_mple.com @ads", wantErr: true},
|
||||
{name: "empty label", typ: "domain", rule: "example..com", wantErr: true},
|
||||
{name: "trailing dot", typ: "full", rule: "example.com.", wantErr: true},
|
||||
{name: "leading dot", typ: "domain", rule: ".example.com", wantErr: true},
|
||||
{name: "leading hyphen", typ: "domain", rule: "-example.com", wantErr: true},
|
||||
{name: "trailing hyphen", typ: "full", rule: "example-.com", wantErr: true},
|
||||
{name: "overlong label", typ: "domain", rule: strings.Repeat("a", 64) + ".com", wantErr: true},
|
||||
{name: "empty attr", typ: "domain", rule: "example.com @", wantErr: true},
|
||||
{name: "empty affiliation", typ: "domain", rule: "example.com &", wantErr: true},
|
||||
{name: "unknown field", typ: "domain", rule: "example.com ads", wantErr: true},
|
||||
|
||||
Reference in new issue
Block a user