gitstack

grindlemire/go-tui code browser

1.0 KB Go 59 lines 2026-06-12 · 56e8c04 raw
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
package tui

import "testing"

func TestMouseEvent_App(t *testing.T) {
	app := &App{}

	type tc struct {
		event MouseEvent
		want  *App
	}

	tests := map[string]tc{
		"returns the dispatching app": {
			event: MouseEvent{Button: MouseLeft, Action: MousePress, X: 3, Y: 4, app: app},
			want:  app,
		},
		"zero value returns nil": {
			event: MouseEvent{},
			want:  nil,
		},
	}

	for name, tt := range tests {
		t.Run(name, func(t *testing.T) {
			if got := tt.event.App(); got != tt.want {
				t.Errorf("MouseEvent.App() = %p, want %p", got, tt.want)
			}
		})
	}
}

func TestKeyEvent_App(t *testing.T) {
	app := &App{}

	type tc struct {
		event KeyEvent
		want  *App
	}

	tests := map[string]tc{
		"returns the dispatching app": {
			event: KeyEvent{Key: KeyEnter, app: app},
			want:  app,
		},
		"zero value returns nil": {
			event: KeyEvent{},
			want:  nil,
		},
	}

	for name, tt := range tests {
		t.Run(name, func(t *testing.T) {
			if got := tt.event.App(); got != tt.want {
				t.Errorf("KeyEvent.App() = %p, want %p", got, tt.want)
			}
		})
	}
}