1
1
mirror of https://github.com/OpenDiablo2/OpenDiablo2 synced 2024-09-27 21:56:19 -04:00
OpenDiablo2/d2core/d2term/terminal_test.go

83 lines
1.4 KiB
Go
Raw Normal View History

2020-12-21 15:46:58 -05:00
package d2term
import (
"fmt"
"testing"
)
func TestTerminal(t *testing.T) {
term, err := NewTerminal()
if err != nil {
t.Fatal(err)
}
lenOutput := len(term.outputHistory)
const expected1 = 2
if lenOutput != expected1 {
t.Fatalf("got %d expected %d", lenOutput, expected1)
}
2020-12-21 16:22:27 -05:00
if err := term.Execute("clear"); err != nil {
t.Fatal(err)
}
if err := term.Execute("ls"); err != nil {
t.Fatal(err)
}
2020-12-21 15:46:58 -05:00
lenOutput = len(term.outputHistory)
const expected2 = 3
if lenOutput != expected2 {
t.Fatalf("got %d expected %d", lenOutput, expected2)
}
}
func TestBind(t *testing.T) {
term, err := NewTerminal()
if err != nil {
t.Fatal(err)
}
term.Clear()
if err := term.Bind("hello", "world", []string{"world"}, func(args []string) error {
const expected = "world"
if args[0] != expected {
return fmt.Errorf("got %s expected %s", args[0], expected)
}
return nil
}); err != nil {
t.Fatal(err)
}
if err := term.Execute("hello world"); err != nil {
t.Fatal(err)
}
}
func TestUnbind(t *testing.T) {
term, err := NewTerminal()
if err != nil {
t.Fatal(err)
}
2020-12-21 16:22:27 -05:00
if err := term.Unbind("clear"); err != nil {
t.Fatal(err)
}
2020-12-21 15:46:58 -05:00
term.Clear()
2020-12-21 16:22:27 -05:00
if err := term.Execute("ls"); err != nil {
t.Fatal(err)
}
2020-12-21 15:46:58 -05:00
lenOutput := len(term.outputHistory)
const expected = 2
if lenOutput != expected {
t.Fatalf("got %d expected %d", lenOutput, expected)
}
}