mirror of
https://github.com/caddyserver/caddy.git
synced 2024-12-23 22:27:38 -05:00
33 lines
1.2 KiB
Go
33 lines
1.2 KiB
Go
package config
|
|
|
|
import "testing"
|
|
|
|
func TestParseAddress(t *testing.T) {
|
|
type addr struct {
|
|
host string
|
|
port string
|
|
}
|
|
testCases := []struct {
|
|
input string
|
|
expected addr
|
|
}{
|
|
{input: "host:port", expected: addr{host: "host", port: "port"}},
|
|
{input: "localhost:1234", expected: addr{host: "localhost", port: "1234"}},
|
|
{input: "127.0.0.1:0", expected: addr{host: "127.0.0.1", port: "0"}},
|
|
{input: "127.0.0.1", expected: addr{host: "127.0.0.1", port: ""}},
|
|
{input: "somedomain.com", expected: addr{host: "somedomain.com", port: ""}},
|
|
{input: "somedomain.com:", expected: addr{host: "somedomain.com", port: ""}},
|
|
{input: ":80", expected: addr{host: "", port: "80"}},
|
|
{input: "localhost:8080", expected: addr{host: "localhost", port: "8080"}},
|
|
{input: "", expected: addr{host: "", port: ""}},
|
|
}
|
|
for _, test := range testCases {
|
|
actualHost, actualPort := parseAddress(test.input)
|
|
if actualHost != test.expected.host {
|
|
t.Errorf("For '%s' expected host '%s' but got '%s'", test.input, test.expected.host, actualHost)
|
|
}
|
|
if actualPort != test.expected.port {
|
|
t.Errorf("For '%s' expected port '%s' but got '%s'", test.input, test.expected.port, actualPort)
|
|
}
|
|
}
|
|
}
|