summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--Makefile1
-rw-r--r--term.c22
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
f03e3cb8a5c6b597b87321e1f082d3ab177e8baa&follow=1'>ui-shared: extract date formatting to a functionJohn Keeping 2015-08-13filter: don't use dlsym unnecessarilyJohn Keeping 2015-08-13ui-tree: use "sane" isgraph()John Keeping 2015-08-13cgit.h: move stdbool.h from ui-shared.hJohn Keeping 2015-08-13cache.c: fix header orderJohn Keeping 2015-08-13configfile.c: don't include system headers directlyJohn Keeping 2015-08-13Remove redundant includesJohn Keeping 2015-08-13Makefile: include Git's config.mak.unameJohn Keeping 2015-08-13tests: allow shell to be overriddenJohn Keeping 2015-08-13redirect: cleanlinessJason A. Donenfeld 2015-08-13redirect: be more careful for different cgi setupsJason A. Donenfeld 2015-08-12ui-log: fix double countingJohn Keeping 2015-08-12log: allow users to follow a fileJohn Keeping 2015-08-12shared: make cgit_diff_tree_cb publicJohn Keeping 2015-08-12t0110: Chain together using &&Jason A. Donenfeld 2015-08-12about: always ensure page has a trailing slashJason A. Donenfeld 2015-08-12filters: apply HTML escapingLazaros Koromilas 2015-08-12git: update to v2.5.0Christian Hesse 2015-08-12Fix processing of repo.hide and repo.ignoreDaniel Reichelt