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