提交 e593c180 作者: Matt Bell 提交者: Juan Batiz-Benet

commands: Added tests for Command.Register

上级 5b18844c
......@@ -58,3 +58,58 @@ func TestOptionValidation(t *testing.T) {
t.Error("Should have passed")
}
}
func TestRegistration(t *testing.T) {
cmds := []*Command{
&Command{
Options: []Option{
Option{ []string{ "beep" }, Int },
},
f: func(req *Request) (interface{}, error) {
return nil, nil
},
},
&Command{
Options: []Option{
Option{ []string{ "boop" }, Int },
},
f: func(req *Request) (interface{}, error) {
return nil, nil
},
},
&Command{
Options: []Option{
Option{ []string{ "boop" }, String },
},
f: func(req *Request) (interface{}, error) {
return nil, nil
},
},
&Command{
Options: []Option{
Option{ []string{ "bop" }, String },
},
f: func(req *Request) (interface{}, error) {
return nil, nil
},
},
}
err := cmds[0].Register("foo", cmds[1])
if err != nil {
t.Error("Should have passed")
}
err = cmds[0].Register("bar", cmds[2])
if err == nil {
t.Error("Should have failed (option name collision)")
}
err = cmds[0].Register("foo", cmds[3])
if err == nil {
t.Error("Should have failed (subcommand name collision)")
}
}
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论