diff options
-rw-r--r-- | Makefile | 1 | ||||
-rw-r--r-- | term.c | 22 |
2 files changed, 22 insertions, 1 deletions
diff --git a/Makefile b/Makefile index ac361d1..46d50ac 100644 --- a/Makefile +++ b/Makefile @@ -25,6 +25,7 @@ OBJS += ui.o OBJS += url.o TESTS += format.t +TESTS += term.t all: tags chatte diff --git a/term.c b/term.c index 0b35499..2be9c16 100644 --- a/term.c +++ b/term.c @@ -21,7 +21,6 @@ #include "chat.h" - static bool xterm; void termInit(void) { @@ -67,3 +66,24 @@ enum TermEvent termEvent(char ch) { 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 |