about summary refs log tree commit diff
path: root/term.c
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 /term.c
parentCheck width of entire next word including codes (diff)
downloadtest-b7bac21263ddd7112f74a9ae71180e70466e34b4.tar.gz
test-b7bac21263ddd7112f74a9ae71180e70466e34b4.zip
Add termEvent tests
Diffstat (limited to '')
-rw-r--r--term.c22
1 files changed, 21 insertions, 1 deletions
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
td colspan='3' class='logmsg'> 2020-02-11Support monochromatic terminalsJune McEnroe Oops, division by zero! 2020-02-11Add .gz to chroot-man scriptJune McEnroe 2020-02-11Add -R restricted flagJune McEnroe 2020-02-11Add chroot targetJune McEnroe 2020-02-11Exit focus and paste modes on err exitJune McEnroe 2020-02-11Add startup GPLv3 note and URLJune McEnroe I am a degenerate. 2020-02-11Make sure -D_GNU_SOURCE ends up in CFLAGS on LinuxJune McEnroe 2020-02-11Add note about setting PKG_CONFIG_PATHJune McEnroe 2020-02-11Rename query ID on nick changeJune McEnroe 2020-02-11Call completeClear when closing a windowJune McEnroe 2020-02-11Don't insert color codes for non-mentionsJune McEnroe 2020-02-11Take first two words in colorMentionsJune McEnroe This lets phrases like "hi june" get colored, but still doesn't get carried away. 2020-02-11Use time_t for save signatureJune McEnroe It's actually more likely to be 64-bit than size_t anyway, and it eliminates some helper functions. Also don't error when reading an empty save file. 2020-02-11Set self.nick to * initiallyJune McEnroe Allows removing a bunch of checks that self.nick is set, and it's what the server usually calls you before registration. Never highlight notices as mentions. 2020-02-11Define ColorCap instead of hardcoding 100June McEnroe 2020-02-11Move hash to top of chat.hJune McEnroe 2020-02-11Move base64 out of chat.hJune McEnroe 2020-02-11Move XDG_SUBDIR out of chat.hJune McEnroe 2020-02-11Fix whois idle unit calculationJune McEnroe Rookie mistake. 2020-02-11Cast towupper to wchar_tJune McEnroe For some reason it takes and returns wint_t... 2020-02-11Cast set but unused variables to voidJune McEnroe 2020-02-11Declare strlcatJune McEnroe 2020-02-11Check if VDSUSP existsJune McEnroe 2020-02-11Fix completeReplace iterationJune McEnroe 2020-02-11Use pkg(8) to configure on FreeBSDJune McEnroe 2020-02-11Remove legacy codeJune McEnroe 2020-02-11Add INSTALLING section to READMEJune McEnroe