mirror of
https://github.com/go-delve/delve.git
synced 2025-10-27 20:23:41 +08:00
Introduce client/server separation
Refactor to introduce client/server separation, including a typed client API and a HTTP REST server implementation. Refactor the terminal to be an API consumer.
This commit is contained in:
53
terminal/command_test.go
Normal file
53
terminal/command_test.go
Normal file
@ -0,0 +1,53 @@
|
||||
package terminal
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"testing"
|
||||
|
||||
"github.com/derekparker/delve/service"
|
||||
)
|
||||
|
||||
func TestCommandDefault(t *testing.T) {
|
||||
var (
|
||||
cmds = Commands{}
|
||||
cmd = cmds.Find("non-existant-command")
|
||||
)
|
||||
|
||||
err := cmd(nil)
|
||||
if err == nil {
|
||||
t.Fatal("cmd() did not default")
|
||||
}
|
||||
|
||||
if err.Error() != "command not available" {
|
||||
t.Fatal("wrong command output")
|
||||
}
|
||||
}
|
||||
|
||||
func TestCommandReplay(t *testing.T) {
|
||||
cmds := DebugCommands(nil)
|
||||
cmds.Register("foo", func(client service.Client, args ...string) error { return fmt.Errorf("registered command") }, "foo command")
|
||||
cmd := cmds.Find("foo")
|
||||
|
||||
err := cmd(nil)
|
||||
if err.Error() != "registered command" {
|
||||
t.Fatal("wrong command output")
|
||||
}
|
||||
|
||||
cmd = cmds.Find("")
|
||||
err = cmd(nil)
|
||||
if err.Error() != "registered command" {
|
||||
t.Fatal("wrong command output")
|
||||
}
|
||||
}
|
||||
|
||||
func TestCommandReplayWithoutPreviousCommand(t *testing.T) {
|
||||
var (
|
||||
cmds = DebugCommands(nil)
|
||||
cmd = cmds.Find("")
|
||||
err = cmd(nil)
|
||||
)
|
||||
|
||||
if err != nil {
|
||||
t.Error("Null command not returned", err)
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user