Default DebugCommands() to include null replay

This commit is contained in:
Derek Parker
2014-05-21 10:18:54 -05:00
parent c125fafe50
commit 2d8cc08513
2 changed files with 4 additions and 6 deletions

View File

@ -11,9 +11,11 @@ type Commands struct {
cmds map[string]cmdfunc
}
// Returns a Commands struct with default commands defined.
func DebugCommands() *Commands {
cmds := map[string]cmdfunc{
"exit": exitFunc,
"": nullCommand,
}
return &Commands{cmds}
@ -29,10 +31,6 @@ func (c *Commands) Register(cmdstr string, cf cmdfunc) {
func (c *Commands) Find(cmdstr string) cmdfunc {
cmd, ok := c.cmds[cmdstr]
if !ok {
if cmdstr == "" {
return nullCommand
}
return noCmdAvailable
}

View File

@ -39,7 +39,7 @@ func TestCommandRegister(t *testing.T) {
}
func TestCommandReplay(t *testing.T) {
cmds := Commands{make(map[string]cmdfunc)}
cmds := DebugCommands()
cmds.Register("foo", func() error { return fmt.Errorf("registered command") })
cmd := cmds.Find("foo")
@ -57,7 +57,7 @@ func TestCommandReplay(t *testing.T) {
func TestCommandReplayWithoutPreviousCommand(t *testing.T) {
var (
cmds = Commands{make(map[string]cmdfunc)}
cmds = DebugCommands()
cmd = cmds.Find("")
err = cmd()
)