1 package ansiterm
2
3 import (
4 "fmt"
5 "strconv"
6 )
7
8 type TestAnsiEventHandler struct {
9 FunctionCalls []string
10 }
11
12 func CreateTestAnsiEventHandler() *TestAnsiEventHandler {
13 evtHandler := TestAnsiEventHandler{}
14 evtHandler.FunctionCalls = make([]string, 0)
15 return &evtHandler
16 }
17
18 func (h *TestAnsiEventHandler) recordCall(call string, params []string) {
19 s := fmt.Sprintf("%s(%v)", call, params)
20 h.FunctionCalls = append(h.FunctionCalls, s)
21 }
22
23 func (h *TestAnsiEventHandler) Print(b byte) error {
24 h.recordCall("Print", []string{string(b)})
25 return nil
26 }
27
28 func (h *TestAnsiEventHandler) Execute(b byte) error {
29 h.recordCall("Execute", []string{string(b)})
30 return nil
31 }
32
33 func (h *TestAnsiEventHandler) CUU(param int) error {
34 h.recordCall("CUU", []string{strconv.Itoa(param)})
35 return nil
36 }
37
38 func (h *TestAnsiEventHandler) CUD(param int) error {
39 h.recordCall("CUD", []string{strconv.Itoa(param)})
40 return nil
41 }
42
43 func (h *TestAnsiEventHandler) CUF(param int) error {
44 h.recordCall("CUF", []string{strconv.Itoa(param)})
45 return nil
46 }
47
48 func (h *TestAnsiEventHandler) CUB(param int) error {
49 h.recordCall("CUB", []string{strconv.Itoa(param)})
50 return nil
51 }
52
53 func (h *TestAnsiEventHandler) CNL(param int) error {
54 h.recordCall("CNL", []string{strconv.Itoa(param)})
55 return nil
56 }
57
58 func (h *TestAnsiEventHandler) CPL(param int) error {
59 h.recordCall("CPL", []string{strconv.Itoa(param)})
60 return nil
61 }
62
63 func (h *TestAnsiEventHandler) CHA(param int) error {
64 h.recordCall("CHA", []string{strconv.Itoa(param)})
65 return nil
66 }
67
68 func (h *TestAnsiEventHandler) VPA(param int) error {
69 h.recordCall("VPA", []string{strconv.Itoa(param)})
70 return nil
71 }
72
73 func (h *TestAnsiEventHandler) CUP(x int, y int) error {
74 xS, yS := strconv.Itoa(x), strconv.Itoa(y)
75 h.recordCall("CUP", []string{xS, yS})
76 return nil
77 }
78
79 func (h *TestAnsiEventHandler) HVP(x int, y int) error {
80 xS, yS := strconv.Itoa(x), strconv.Itoa(y)
81 h.recordCall("HVP", []string{xS, yS})
82 return nil
83 }
84
85 func (h *TestAnsiEventHandler) DECTCEM(visible bool) error {
86 h.recordCall("DECTCEM", []string{strconv.FormatBool(visible)})
87 return nil
88 }
89
90 func (h *TestAnsiEventHandler) DECOM(visible bool) error {
91 h.recordCall("DECOM", []string{strconv.FormatBool(visible)})
92 return nil
93 }
94
95 func (h *TestAnsiEventHandler) DECCOLM(use132 bool) error {
96 h.recordCall("DECOLM", []string{strconv.FormatBool(use132)})
97 return nil
98 }
99
100 func (h *TestAnsiEventHandler) ED(param int) error {
101 h.recordCall("ED", []string{strconv.Itoa(param)})
102 return nil
103 }
104
105 func (h *TestAnsiEventHandler) EL(param int) error {
106 h.recordCall("EL", []string{strconv.Itoa(param)})
107 return nil
108 }
109
110 func (h *TestAnsiEventHandler) IL(param int) error {
111 h.recordCall("IL", []string{strconv.Itoa(param)})
112 return nil
113 }
114
115 func (h *TestAnsiEventHandler) DL(param int) error {
116 h.recordCall("DL", []string{strconv.Itoa(param)})
117 return nil
118 }
119
120 func (h *TestAnsiEventHandler) ICH(param int) error {
121 h.recordCall("ICH", []string{strconv.Itoa(param)})
122 return nil
123 }
124
125 func (h *TestAnsiEventHandler) DCH(param int) error {
126 h.recordCall("DCH", []string{strconv.Itoa(param)})
127 return nil
128 }
129
130 func (h *TestAnsiEventHandler) SGR(params []int) error {
131 strings := []string{}
132 for _, v := range params {
133 strings = append(strings, strconv.Itoa(v))
134 }
135
136 h.recordCall("SGR", strings)
137 return nil
138 }
139
140 func (h *TestAnsiEventHandler) SU(param int) error {
141 h.recordCall("SU", []string{strconv.Itoa(param)})
142 return nil
143 }
144
145 func (h *TestAnsiEventHandler) SD(param int) error {
146 h.recordCall("SD", []string{strconv.Itoa(param)})
147 return nil
148 }
149
150 func (h *TestAnsiEventHandler) DA(params []string) error {
151 h.recordCall("DA", params)
152 return nil
153 }
154
155 func (h *TestAnsiEventHandler) DECSTBM(top int, bottom int) error {
156 topS, bottomS := strconv.Itoa(top), strconv.Itoa(bottom)
157 h.recordCall("DECSTBM", []string{topS, bottomS})
158 return nil
159 }
160
161 func (h *TestAnsiEventHandler) RI() error {
162 h.recordCall("RI", nil)
163 return nil
164 }
165
166 func (h *TestAnsiEventHandler) IND() error {
167 h.recordCall("IND", nil)
168 return nil
169 }
170
171 func (h *TestAnsiEventHandler) Flush() error {
172 return nil
173 }
174
View as plain text