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

commands: Wrote tests for command option validation

上级 15b7388c
package commands
import "testing"
func TestOptionValidation(t *testing.T) {
cmd := Command{
Options: []Option{
Option{ []string{ "b", "beep" }, Int },
Option{ []string{ "B", "boop" }, String },
},
f: func(req *Request) (interface{}, error) {
return nil, nil
},
}
req := NewRequest()
req.options["foo"] = 5
_, err := cmd.Call(nil, req)
if err == nil {
t.Error("Should have failed (unrecognized command)")
}
req = NewRequest()
req.options["beep"] = 5
req.options["b"] = 10
_, err = cmd.Call(nil, req)
if err == nil {
t.Error("Should have failed (duplicate options)")
}
req = NewRequest()
req.options["beep"] = "foo"
_, err = cmd.Call(nil, req)
if err == nil {
t.Error("Should have failed (incorrect type)")
}
req = NewRequest()
req.options["beep"] = 5
_, err = cmd.Call(nil, req)
if err != nil {
t.Error("Should have passed")
}
req = NewRequest()
req.options["beep"] = 5
req.options["boop"] = "test"
_, err = cmd.Call(nil, req)
if err != nil {
t.Error("Should have passed")
}
req = NewRequest()
req.options["b"] = 5
req.options["B"] = "test"
_, err = cmd.Call(nil, req)
if err != nil {
t.Error("Should have passed")
}
}
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论