summary refs log tree commit diff
diff options
context:
space:
mode:
authorJune McEnroe <june@causal.agency>2018-09-14 19:41:48 -0400
committerJune McEnroe <june@causal.agency>2018-09-14 19:41:48 -0400
commitb7bac21263ddd7112f74a9ae71180e70466e34b4 (patch)
treea4b5487acc43485f05ca29a657662804e5e33c27
parentCheck width of entire next word including codes (diff)
downloadcatgirl-b7bac21263ddd7112f74a9ae71180e70466e34b4.tar.gz
catgirl-b7bac21263ddd7112f74a9ae71180e70466e34b4.zip
Add termEvent tests
-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
='/bubger/commit/bubger.1?h=1.1&id=96068224350f214ff6bdea8c401eeb13750cc369&follow=1'>Add -q to exit non-zero on early exitJune McEnroe 2020-04-26Rearrange some of archive.hJune McEnroe 2020-04-26Free part.parts.ptrJune McEnroe Oops. 2020-04-26Rename part->id to part->contentIDJune McEnroe Disambiguate with messageID. 2020-04-26Iterate through nested multiparts to find content for AtomJune McEnroe Also fixes content for multipart/signed. 2020-04-26Include Cc address in reply mailtosJune McEnroe 2020-04-26Use %R for RFC numbers in STANDARDS sectionJune McEnroe 2020-04-26Add mailto spec to STANDARDSJune McEnroe 2020-04-26Increase space between nav itemsJune McEnroe 2020-04-26Add mailto address for the archiveJune McEnroe 2020-04-26Put dates on new lines in indexJune McEnroe 2020-04-26Include <> around Message-Id in mailto: URLsJune McEnroe 2020-04-26Add link to index on thread pagesJune McEnroe 2020-04-26Fall back to Content-Type name parameter for attachmentsJune McEnroe 2020-04-26Remove margins in article.message headerJune McEnroe 2020-04-26Generate index.atomJune McEnroe 2020-04-26Generate XHTML content in Atom entriesJune McEnroe 2020-04-25Style index pageJune McEnroe 2020-04-25Render index.htmlJune McEnroe 2020-04-25Wrap <summary> replies count in <data>June McEnroe 2020-04-25Accumulate thread envelopes before concatenationJune McEnroe 2020-04-24Free envelope in concatDataJune McEnroe 2020-04-24Use replyTo address in mailto:June McEnroe 2020-04-23Wrap quoted lines in <q>June McEnroe