From b9340968329f74dcbf8d608812a0e76beba1173e Mon Sep 17 00:00:00 2001 From: hmuar <1871299+hmuar@users.noreply.github.com> Date: Tue, 22 Oct 2019 23:52:58 -0700 Subject: [PATCH] add tests for keyboard_widget --- view/keyboard_widget_test.go | 60 ++++++++++++++++++++++++++++++++++-- 1 file changed, 58 insertions(+), 2 deletions(-) diff --git a/view/keyboard_widget_test.go b/view/keyboard_widget_test.go index c1540850..b21a2733 100644 --- a/view/keyboard_widget_test.go +++ b/view/keyboard_widget_test.go @@ -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() }) +}