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 1/2] 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() }) +} From 20e30fdefc9bec40bd4d2880d6252966d95d827c Mon Sep 17 00:00:00 2001 From: hmuar <1871299+hmuar@users.noreply.github.com> Date: Tue, 22 Oct 2019 23:53:21 -0700 Subject: [PATCH 2/2] rename tests to be consistent with other test files --- view/bargraph_test.go | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/view/bargraph_test.go b/view/bargraph_test.go index 1673102a..9d7180ee 100644 --- a/view/bargraph_test.go +++ b/view/bargraph_test.go @@ -51,7 +51,7 @@ func newTestGraph(graphStars int, graphIcon string) *BarGraph { return &widget } -func TestNewBarGraph(t *testing.T) { +func Test_NewBarGraph(t *testing.T) { widget := newTestGraph(15, "|") assert.NotNil(t, widget.View) @@ -59,7 +59,7 @@ func TestNewBarGraph(t *testing.T) { assert.Equal(t, "|", widget.starChar) } -func TestBuildBars(t *testing.T) { +func Test_BuildBars(t *testing.T) { widget := newTestGraph(15, "|") before := widget.View.GetText(false) @@ -69,13 +69,13 @@ func TestBuildBars(t *testing.T) { assert.NotEqual(t, before, after) } -func TestTextView(t *testing.T) { +func Test_TextView(t *testing.T) { widget := newTestGraph(15, "|") assert.NotNil(t, widget.TextView()) } -func TestBuildStars(t *testing.T) { +func Test_BuildStars(t *testing.T) { result := BuildStars(makeData(), 20, "*") assert.Equal(t, "Jun 27, 2018[[default]****[default] ] 20\nJul 09, 2018[[red]****************[default] ] 80\nJul 09, 2018[[green]****************[default] ] 80\n",