1
0
mirror of https://github.com/taigrr/wtf synced 2025-01-18 04:03:14 -08:00

add tests for keyboard_widget

This commit is contained in:
hmuar 2019-10-22 23:52:58 -07:00
parent d7b0669796
commit b934096832

View File

@ -5,6 +5,8 @@ import (
"github.com/gdamore/tcell"
"github.com/rivo/tview"
"github.com/stretchr/testify/assert"
"github.com/wtfutil/wtf/cfg"
)
func test() {}
@ -13,7 +15,12 @@ func testKeyboardWidget() KeyboardWidget {
keyWid := NewKeyboardWidget(
tview.NewApplication(),
tview.NewPages(),
nil,
&cfg.Common{
Module: cfg.Module{
Name: "testWidget",
Type: "testType",
},
},
)
return keyWid
}
@ -128,7 +135,7 @@ func Test_InputCapture(t *testing.T) {
expected: tcell.NewEventKey(tcell.KeyRune, 'a', tcell.ModNone),
},
{
name: "with defined event",
name: "with defined event and char handler",
before: func(keyWid KeyboardWidget) KeyboardWidget {
keyWid.SetKeyboardChar("a", test, "help")
return keyWid
@ -136,6 +143,15 @@ func Test_InputCapture(t *testing.T) {
event: tcell.NewEventKey(tcell.KeyRune, 'a', tcell.ModNone),
expected: nil,
},
{
name: "with defined event and key handler",
before: func(keyWid KeyboardWidget) KeyboardWidget {
keyWid.SetKeyboardKey(tcell.KeyRune, test, "help")
return keyWid
},
event: tcell.NewEventKey(tcell.KeyRune, 'a', tcell.ModNone),
expected: nil,
},
}
for _, tt := range tests {
@ -157,3 +173,43 @@ func Test_InputCapture(t *testing.T) {
})
}
}
func Test_InitializeCommonControls(t *testing.T) {
t.Run("nil refreshFunc", func(t *testing.T) {
keyWid := testKeyboardWidget()
keyWid.InitializeCommonControls(nil)
assert.NotNil(t, keyWid.charMap["/"])
assert.Nil(t, keyWid.charMap["r"])
})
t.Run("non-nil refreshFunc", func(t *testing.T) {
keyWid := testKeyboardWidget()
keyWid.InitializeCommonControls(func() {})
assert.NotNil(t, keyWid.charMap["r"])
})
}
func Test_HelpText(t *testing.T) {
keyWid := testKeyboardWidget()
keyWid.SetKeyboardChar("a", test, "a help")
keyWid.SetKeyboardKey(tcell.KeyCtrlO, test, "keyCtrlO help")
assert.NotNil(t, keyWid.HelpText())
}
func Test_SetView(t *testing.T) {
keyWid := testKeyboardWidget()
assert.Nil(t, keyWid.view)
view := &tview.TextView{}
keyWid.SetView(view)
assert.Equal(t, view, keyWid.view)
}
func Test_ShowHelp(t *testing.T) {
keyWid := testKeyboardWidget()
assert.NotPanics(t, func() { keyWid.ShowHelp() })
}