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
60
61
62
63
64
65
|
package tui
import "time"
type MockEventReader struct {
events []Event
index int
}
var (
_ EventReader = (*MockEventReader)(nil)
_ InterruptibleReader = (*MockEventReader)(nil)
)
func NewMockEventReader(events ...Event) *MockEventReader {
return &MockEventReader{
events: events,
index: 0,
}
}
func (m *MockEventReader) PollEvent(timeout time.Duration) (Event, bool) {
if m.index >= len(m.events) {
return nil, false
}
ev := m.events[m.index]
m.index++
return ev, true
}
func (m *MockEventReader) Close() error {
return nil
}
func (m *MockEventReader) Reset() {
m.index = 0
}
func (m *MockEventReader) AddEvents(events ...Event) {
m.events = append(m.events, events...)
}
func (m *MockEventReader) Remaining() int {
return len(m.events) - m.index
}
func (m *MockEventReader) EnableInterrupt() error {
return nil
}
func (m *MockEventReader) Interrupt() error {
return nil
}
|