MagiTrickle/models/domain_test.go

43 lines
1.3 KiB
Go

package models
import "testing"
func TestDomain_IsMatch_Plaintext(t *testing.T) {
domain := &Domain{
Type: "plaintext",
Domain: "example.com",
}
if !domain.IsMatch("example.com") {
t.Fatal("&Domain{Type: \"plaintext\", Domain: \"example.com\"}.IsMatch(\"example.com\") returns false")
}
if domain.IsMatch("noexample.com") {
t.Fatal("&Domain{Type: \"plaintext\", Domain: \"example.com\"}.IsMatch(\"noexample.com\") returns true")
}
}
func TestDomain_IsMatch_Wildcard(t *testing.T) {
domain := &Domain{
Type: "wildcard",
Domain: "ex*le.com",
}
if !domain.IsMatch("example.com") {
t.Fatal("&Domain{Type: \"wildcard\", Domain: \"ex*le.com\"}.IsMatch(\"example.com\") returns false")
}
if domain.IsMatch("noexample.com") {
t.Fatal("&Domain{Type: \"wildcard\", Domain: \"ex*le.com\"}.IsMatch(\"noexample.com\") returns true")
}
}
func TestDomain_IsMatch_RegEx(t *testing.T) {
domain := &Domain{
Type: "regex",
Domain: "^ex[apm]{3}le.com$",
}
if !domain.IsMatch("example.com") {
t.Fatal("&Domain{Type: \"regex\", Domain: \"^ex[apm]{3}le.com$\"}.IsMatch(\"example.com\") returns false")
}
if domain.IsMatch("noexample.com") {
t.Fatal("&Domain{Type: \"regex\", Domain: \"^ex[apm]{3}le.com$\"}.IsMatch(\"noexample.com\") returns true")
}
}