Skip to content

Commit 3e5eee6

Browse files
committed
chore(help): add full help test to support #554
1 parent 81d444a commit 3e5eee6

File tree

6 files changed

+49
-3
lines changed

6 files changed

+49
-3
lines changed

go.mod

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ require (
99
github.com/charmbracelet/harmonica v0.2.0
1010
github.com/charmbracelet/lipgloss v0.13.0
1111
github.com/charmbracelet/x/ansi v0.3.2
12-
github.com/charmbracelet/x/exp/golden v0.0.0-20240815200342-61de596daa2b
12+
github.com/charmbracelet/x/exp/golden v0.0.0-20241011142426-46044092ad91
1313
github.com/dustin/go-humanize v1.0.1
1414
github.com/lucasb-eyer/go-colorful v1.2.0
1515
github.com/mattn/go-runewidth v0.0.16

go.sum

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,10 @@ github.com/charmbracelet/lipgloss v0.13.0 h1:4X3PPeoWEDCMvzDvGmTajSyYPcZM4+y8sCA
1414
github.com/charmbracelet/lipgloss v0.13.0/go.mod h1:nw4zy0SBX/F/eAO1cWdcvy6qnkDUxr8Lw7dvFrAIbbY=
1515
github.com/charmbracelet/x/ansi v0.3.2 h1:wsEwgAN+C9U06l9dCVMX0/L3x7ptvY1qmjMwyfE6USY=
1616
github.com/charmbracelet/x/ansi v0.3.2/go.mod h1:dk73KoMTT5AX5BsX0KrqhsTqAnhZZoCBjs7dGWp4Ktw=
17-
github.com/charmbracelet/x/exp/golden v0.0.0-20240815200342-61de596daa2b h1:MnAMdlwSltxJyULnrYbkZpp4k58Co7Tah3ciKhSNo0Q=
18-
github.com/charmbracelet/x/exp/golden v0.0.0-20240815200342-61de596daa2b/go.mod h1:wDlXFlCrmJ8J+swcL/MnGUuYnqgQdW9rhSD61oNMb6U=
17+
github.com/charmbracelet/x/exp/golden v0.0.0-20240806155701-69247e0abc2a h1:G99klV19u0QnhiizODirwVksQB91TJKV/UaTnACcG30=
18+
github.com/charmbracelet/x/exp/golden v0.0.0-20240806155701-69247e0abc2a/go.mod h1:wDlXFlCrmJ8J+swcL/MnGUuYnqgQdW9rhSD61oNMb6U=
19+
github.com/charmbracelet/x/exp/golden v0.0.0-20241011142426-46044092ad91 h1:payRxjMjKgx2PaCWLZ4p3ro9y97+TVLZNaRZgJwSVDQ=
20+
github.com/charmbracelet/x/exp/golden v0.0.0-20241011142426-46044092ad91/go.mod h1:wDlXFlCrmJ8J+swcL/MnGUuYnqgQdW9rhSD61oNMb6U=
1921
github.com/charmbracelet/x/term v0.2.0 h1:cNB9Ot9q8I711MyZ7myUR5HFWL/lc3OpU8jZ4hwm0x0=
2022
github.com/charmbracelet/x/term v0.2.0/go.mod h1:GVxgxAbjUrmpvIINHIQnJJKpMlHiZ4cktEQCN6GWyF0=
2123
github.com/dustin/go-humanize v1.0.1 h1:GzkhY7T5VNhEkwH0PVJgjz+fX1rhBrR7pRT3mDkpeCY=

help/help_test.go

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
package help
2+
3+
import (
4+
"fmt"
5+
"testing"
6+
7+
"github.com/charmbracelet/x/exp/golden"
8+
9+
"github.com/charmbracelet/bubbles/key"
10+
)
11+
12+
func TestFullHelp(t *testing.T) {
13+
m := New()
14+
m.FullSeparator = " | "
15+
k := key.WithKeys("x")
16+
kb := [][]key.Binding{
17+
{
18+
key.NewBinding(k, key.WithHelp("enter", "continue")),
19+
},
20+
{
21+
key.NewBinding(k, key.WithHelp("esc", "back")),
22+
key.NewBinding(k, key.WithHelp("?", "help")),
23+
},
24+
{
25+
key.NewBinding(k, key.WithHelp("H", "home")),
26+
key.NewBinding(k, key.WithHelp("ctrl+c", "quit")),
27+
key.NewBinding(k, key.WithHelp("ctrl+l", "log")),
28+
},
29+
}
30+
31+
for _, w := range []int{20, 30, 40} {
32+
t.Run(fmt.Sprintf("full help %d width", w), func(t *testing.T) {
33+
m.Width = w
34+
s := m.FullHelpView(kb)
35+
golden.RequireEqual(t, []byte(s))
36+
})
37+
}
38+
}
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
enter continue …
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
enter continue | esc back …
2+
? help
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
enter continue | esc back | H home
2+
? help ctrl+c quit
3+
ctrl+l log

0 commit comments

Comments
 (0)