timer/keyboard_test.go

46 lines
670 B
Go
Executable File

package main
import (
"fmt"
"os"
"strings"
"testing"
)
func TestKeyboardNext(t *testing.T) {
defer fakeInput(t)()
k, err := NewKeyboard()
if err != nil {
t.Fatal(err)
}
go k.Listen()
for i := 0; i < 5; i++ {
t.Log(k.Next())
}
k.Close()
}
func TestKeyboardEvents(t *testing.T) {
defer fakeInput(t)()
k, err := NewKeyboard()
if err != nil {
t.Fatal(err)
}
go k.Listen()
i := 0
for b := range k.Events {
i += 1
t.Log(b)
if i == 5 {
k.Close()
}
}
}
func fakeInput(t *testing.T) func() {
if !strings.Contains(fmt.Sprint(os.Args), "-test.v=true") {
t.Fatal("-v not passed, requries manual testing for input")
}
return func() {}
}