Add termEvent tests

master
Curtis McEnroe 2018-09-14 19:41:48 -04:00
parent 714a703935
commit b7bac21263
No known key found for this signature in database
GPG Key ID: CEA2F97ADCFCD77C
2 changed files with 22 additions and 1 deletions

View File

@ -25,6 +25,7 @@ OBJS += ui.o
OBJS += url.o OBJS += url.o
TESTS += format.t TESTS += format.t
TESTS += term.t
all: tags chatte all: tags chatte

22
term.c
View File

@ -21,7 +21,6 @@
#include "chat.h" #include "chat.h"
static bool xterm; static bool xterm;
void termInit(void) { void termInit(void) {
@ -67,3 +66,24 @@ enum TermEvent termEvent(char ch) {
default: state = 0; return 0; default: state = 0; return 0;
} }
} }
#ifdef TEST
#include <assert.h>
static bool testEvent(const char *str, enum TermEvent event) {
enum TermEvent e = TermNone;
for (size_t i = 0; i < strlen(str); ++i) {
if (e) return false;
e = termEvent(str[i]);
}
return (e == event);
}
int main() {
assert(testEvent("\33[I", TermFocusIn));
assert(testEvent("\33[O", TermFocusOut));
assert(testEvent("\33[200~", TermPasteStart));
assert(testEvent("\33[201~", TermPasteEnd));
}
#endif