mirror of
https://github.com/caddyserver/caddy.git
synced 2024-12-16 21:56:40 -05:00
71 lines
1.1 KiB
Go
71 lines
1.1 KiB
Go
package caddy2
|
|
|
|
import (
|
|
"reflect"
|
|
"testing"
|
|
)
|
|
|
|
func TestGetModules(t *testing.T) {
|
|
modulesMu.Lock()
|
|
modules = map[string]Module{
|
|
"a": {Name: "a"},
|
|
"a.b": {Name: "a.b"},
|
|
"a.b.c": {Name: "a.b.c"},
|
|
"a.b.cd": {Name: "a.b.cd"},
|
|
"a.c": {Name: "a.c"},
|
|
"a.d": {Name: "a.d"},
|
|
"b": {Name: "b"},
|
|
"b.a": {Name: "b.a"},
|
|
"b.b": {Name: "b.b"},
|
|
"b.a.c": {Name: "b.a.c"},
|
|
"c": {Name: "c"},
|
|
}
|
|
modulesMu.Unlock()
|
|
|
|
for i, tc := range []struct {
|
|
input string
|
|
expect []Module
|
|
}{
|
|
{
|
|
input: "",
|
|
expect: []Module{
|
|
{Name: "a"},
|
|
{Name: "b"},
|
|
{Name: "c"},
|
|
},
|
|
},
|
|
{
|
|
input: "a",
|
|
expect: []Module{
|
|
{Name: "a.b"},
|
|
{Name: "a.c"},
|
|
{Name: "a.d"},
|
|
},
|
|
},
|
|
{
|
|
input: "a.b",
|
|
expect: []Module{
|
|
{Name: "a.b.c"},
|
|
{Name: "a.b.cd"},
|
|
},
|
|
},
|
|
{
|
|
input: "a.b.c",
|
|
},
|
|
{
|
|
input: "b",
|
|
expect: []Module{
|
|
{Name: "b.a"},
|
|
{Name: "b.b"},
|
|
},
|
|
},
|
|
{
|
|
input: "asdf",
|
|
},
|
|
} {
|
|
actual := GetModules(tc.input)
|
|
if !reflect.DeepEqual(actual, tc.expect) {
|
|
t.Errorf("Test %d: Expected %v but got %v", i, tc.expect, actual)
|
|
}
|
|
}
|
|
}
|