diff options
author | Matthew Holt <[email protected]> | 2019-03-26 12:00:54 -0600 |
---|---|---|
committer | Matthew Holt <[email protected]> | 2019-03-26 12:00:54 -0600 |
commit | 859b5d7ea3b8f660ac68d9aea5a53d25a9a7422c (patch) | |
tree | c5baf11ff459d8811104b00c07b0a3c24bd16d9c /modules_test.go | |
download | caddy-859b5d7ea3b8f660ac68d9aea5a53d25a9a7422c.tar.gz caddy-859b5d7ea3b8f660ac68d9aea5a53d25a9a7422c.zip |
Initial commit
Diffstat (limited to 'modules_test.go')
-rw-r--r-- | modules_test.go | 71 |
1 files changed, 71 insertions, 0 deletions
diff --git a/modules_test.go b/modules_test.go new file mode 100644 index 000000000..ff2ff4eb2 --- /dev/null +++ b/modules_test.go @@ -0,0 +1,71 @@ +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) + } + } +} |