aboutsummaryrefslogtreecommitdiff
path: root/t/11strfkey.c
diff options
context:
space:
mode:
Diffstat (limited to 't/11strfkey.c')
-rw-r--r--t/11strfkey.c278
1 files changed, 146 insertions, 132 deletions
diff --git a/t/11strfkey.c b/t/11strfkey.c
index 36c923e..4c77bdf 100644
--- a/t/11strfkey.c
+++ b/t/11strfkey.c
@@ -1,137 +1,151 @@
#include "../termkey.h"
#include "taplib.h"
-int main(int argc, char *argv[])
+int
+main (int argc, char *argv[])
{
- TermKey *tk;
- TermKeyKey key;
- char buffer[16];
- size_t len;
-
- plan_tests(44);
-
- tk = termkey_new_abstract("vt100", 0);
-
- key.type = TERMKEY_TYPE_UNICODE;
- key.code.codepoint = 'A';
- key.modifiers = 0;
- key.utf8[0] = 0;
-
- len = termkey_strfkey(tk, buffer, sizeof buffer, &key, 0);
- is_int(len, 1, "length for unicode/A/0");
- is_str(buffer, "A", "buffer for unicode/A/0");
-
- len = termkey_strfkey(tk, buffer, sizeof buffer, &key, TERMKEY_FORMAT_WRAPBRACKET);
- is_int(len, 1, "length for unicode/A/0 wrapbracket");
- is_str(buffer, "A", "buffer for unicode/A/0 wrapbracket");
-
- key.type = TERMKEY_TYPE_UNICODE;
- key.code.codepoint = 'b';
- key.modifiers = TERMKEY_KEYMOD_CTRL;
- key.utf8[0] = 0;
-
- len = termkey_strfkey(tk, buffer, sizeof buffer, &key, 0);
- is_int(len, 3, "length for unicode/b/CTRL");
- is_str(buffer, "C-b", "buffer for unicode/b/CTRL");
-
- len = termkey_strfkey(tk, buffer, sizeof buffer, &key, TERMKEY_FORMAT_LONGMOD);
- is_int(len, 6, "length for unicode/b/CTRL longmod");
- is_str(buffer, "Ctrl-b", "buffer for unicode/b/CTRL longmod");
-
- len = termkey_strfkey(tk, buffer, sizeof buffer, &key,
- TERMKEY_FORMAT_LONGMOD|TERMKEY_FORMAT_SPACEMOD);
- is_int(len, 6, "length for unicode/b/CTRL longmod|spacemod");
- is_str(buffer, "Ctrl b", "buffer for unicode/b/CTRL longmod|spacemod");
-
- len = termkey_strfkey(tk, buffer, sizeof buffer, &key,
- TERMKEY_FORMAT_LONGMOD|TERMKEY_FORMAT_LOWERMOD);
- is_int(len, 6, "length for unicode/b/CTRL longmod|lowermod");
- is_str(buffer, "ctrl-b", "buffer for unicode/b/CTRL longmod|lowermod");
-
- len = termkey_strfkey(tk, buffer, sizeof buffer, &key,
- TERMKEY_FORMAT_LONGMOD|TERMKEY_FORMAT_SPACEMOD|TERMKEY_FORMAT_LOWERMOD);
- is_int(len, 6, "length for unicode/b/CTRL longmod|spacemod|lowermode");
- is_str(buffer, "ctrl b", "buffer for unicode/b/CTRL longmod|spacemod|lowermode");
-
- len = termkey_strfkey(tk, buffer, sizeof buffer, &key, TERMKEY_FORMAT_CARETCTRL);
- is_int(len, 2, "length for unicode/b/CTRL caretctrl");
- is_str(buffer, "^B", "buffer for unicode/b/CTRL caretctrl");
-
- len = termkey_strfkey(tk, buffer, sizeof buffer, &key, TERMKEY_FORMAT_WRAPBRACKET);
- is_int(len, 5, "length for unicode/b/CTRL wrapbracket");
- is_str(buffer, "<C-b>", "buffer for unicode/b/CTRL wrapbracket");
-
- key.type = TERMKEY_TYPE_UNICODE;
- key.code.codepoint = 'c';
- key.modifiers = TERMKEY_KEYMOD_ALT;
- key.utf8[0] = 0;
-
- len = termkey_strfkey(tk, buffer, sizeof buffer, &key, 0);
- is_int(len, 3, "length for unicode/c/ALT");
- is_str(buffer, "A-c", "buffer for unicode/c/ALT");
-
- len = termkey_strfkey(tk, buffer, sizeof buffer, &key, TERMKEY_FORMAT_LONGMOD);
- is_int(len, 5, "length for unicode/c/ALT longmod");
- is_str(buffer, "Alt-c", "buffer for unicode/c/ALT longmod");
-
- len = termkey_strfkey(tk, buffer, sizeof buffer, &key, TERMKEY_FORMAT_ALTISMETA);
- is_int(len, 3, "length for unicode/c/ALT altismeta");
- is_str(buffer, "M-c", "buffer for unicode/c/ALT altismeta");
-
- len = termkey_strfkey(tk, buffer, sizeof buffer, &key, TERMKEY_FORMAT_LONGMOD|TERMKEY_FORMAT_ALTISMETA);
- is_int(len, 6, "length for unicode/c/ALT longmod|altismeta");
- is_str(buffer, "Meta-c", "buffer for unicode/c/ALT longmod|altismeta");
-
- key.type = TERMKEY_TYPE_KEYSYM;
- key.code.sym = TERMKEY_SYM_UP;
- key.modifiers = 0;
-
- len = termkey_strfkey(tk, buffer, sizeof buffer, &key, 0);
- is_int(len, 2, "length for sym/Up/0");
- is_str(buffer, "Up", "buffer for sym/Up/0");
-
- len = termkey_strfkey(tk, buffer, sizeof buffer, &key, TERMKEY_FORMAT_WRAPBRACKET);
- is_int(len, 4, "length for sym/Up/0 wrapbracket");
- is_str(buffer, "<Up>", "buffer for sym/Up/0 wrapbracket");
-
- key.type = TERMKEY_TYPE_KEYSYM;
- key.code.sym = TERMKEY_SYM_PAGEUP;
- key.modifiers = 0;
-
- len = termkey_strfkey(tk, buffer, sizeof buffer, &key, 0);
- is_int(len, 6, "length for sym/PageUp/0");
- is_str(buffer, "PageUp", "buffer for sym/PageUp/0");
-
- len = termkey_strfkey(tk, buffer, sizeof buffer, &key, TERMKEY_FORMAT_LOWERSPACE);
- is_int(len, 7, "length for sym/PageUp/0 lowerspace");
- is_str(buffer, "page up", "buffer for sym/PageUp/0 lowerspace");
-
- /* If size of buffer is too small, strfkey should return something consistent */
- len = termkey_strfkey(tk, buffer, 4, &key, 0);
- is_int(len, 6, "length for sym/PageUp/0");
- is_str(buffer, "Pag", "buffer of len 4 for sym/PageUp/0");
-
- len = termkey_strfkey(tk, buffer, 4, &key, TERMKEY_FORMAT_LOWERSPACE);
- is_int(len, 7, "length for sym/PageUp/0 lowerspace");
- is_str(buffer, "pag", "buffer of len 4 for sym/PageUp/0 lowerspace");
-
- key.type = TERMKEY_TYPE_FUNCTION;
- key.code.number = 5;
- key.modifiers = 0;
-
- len = termkey_strfkey(tk, buffer, sizeof buffer, &key, 0);
- is_int(len, 2, "length for func/5/0");
- is_str(buffer, "F5", "buffer for func/5/0");
-
- len = termkey_strfkey(tk, buffer, sizeof buffer, &key, TERMKEY_FORMAT_WRAPBRACKET);
- is_int(len, 4, "length for func/5/0 wrapbracket");
- is_str(buffer, "<F5>", "buffer for func/5/0 wrapbracket");
-
- len = termkey_strfkey(tk, buffer, sizeof buffer, &key, TERMKEY_FORMAT_LOWERSPACE);
- is_int(len, 2, "length for func/5/0 lowerspace");
- is_str(buffer, "f5", "buffer for func/5/0 lowerspace");
-
- termkey_destroy(tk);
-
- return exit_status();
+ termkey_t *tk;
+ termkey_key_t key;
+ char buffer[16];
+ size_t len;
+
+ plan_tests (44);
+
+ tk = termkey_new_abstract ("vt100", NULL, 0);
+
+ key.type = TERMKEY_TYPE_KEY;
+ key.code.codepoint = 'A';
+ key.modifiers = 0;
+ key.multibyte[0] = 0;
+
+ len = termkey_strfkey (tk, buffer, sizeof buffer, &key, 0);
+ is_int (len, 1, "length for unicode/A/0");
+ is_str (buffer, "A", "buffer for unicode/A/0");
+
+ len = termkey_strfkey (tk, buffer, sizeof buffer, &key,
+ TERMKEY_FORMAT_WRAPBRACKET);
+ is_int (len, 1, "length for unicode/A/0 wrapbracket");
+ is_str (buffer, "A", "buffer for unicode/A/0 wrapbracket");
+
+ key.type = TERMKEY_TYPE_KEY;
+ key.code.codepoint = 'b';
+ key.modifiers = TERMKEY_KEYMOD_CTRL;
+ key.multibyte[0] = 0;
+
+ len = termkey_strfkey (tk, buffer, sizeof buffer, &key, 0);
+ is_int (len, 3, "length for unicode/b/CTRL");
+ is_str (buffer, "C-b", "buffer for unicode/b/CTRL");
+
+ len = termkey_strfkey (tk, buffer, sizeof buffer, &key,
+ TERMKEY_FORMAT_LONGMOD);
+ is_int (len, 6, "length for unicode/b/CTRL longmod");
+ is_str (buffer, "Ctrl-b", "buffer for unicode/b/CTRL longmod");
+
+ len = termkey_strfkey (tk, buffer, sizeof buffer, &key,
+ TERMKEY_FORMAT_LONGMOD | TERMKEY_FORMAT_SPACEMOD);
+ is_int (len, 6, "length for unicode/b/CTRL longmod|spacemod");
+ is_str (buffer, "Ctrl b", "buffer for unicode/b/CTRL longmod|spacemod");
+
+ len = termkey_strfkey (tk, buffer, sizeof buffer, &key,
+ TERMKEY_FORMAT_LONGMOD | TERMKEY_FORMAT_LOWERMOD);
+ is_int (len, 6, "length for unicode/b/CTRL longmod|lowermod");
+ is_str (buffer, "ctrl-b", "buffer for unicode/b/CTRL longmod|lowermod");
+
+ len = termkey_strfkey (tk, buffer, sizeof buffer, &key,
+ TERMKEY_FORMAT_LONGMOD | TERMKEY_FORMAT_SPACEMOD
+ | TERMKEY_FORMAT_LOWERMOD);
+ is_int (len, 6, "length for unicode/b/CTRL longmod|spacemod|lowermode");
+ is_str (buffer, "ctrl b",
+ "buffer for unicode/b/CTRL longmod|spacemod|lowermode");
+
+ len = termkey_strfkey (tk, buffer, sizeof buffer, &key,
+ TERMKEY_FORMAT_CARETCTRL);
+ is_int (len, 2, "length for unicode/b/CTRL caretctrl");
+ is_str (buffer, "^B", "buffer for unicode/b/CTRL caretctrl");
+
+ len = termkey_strfkey (tk, buffer, sizeof buffer, &key,
+ TERMKEY_FORMAT_WRAPBRACKET);
+ is_int (len, 5, "length for unicode/b/CTRL wrapbracket");
+ is_str (buffer, "<C-b>", "buffer for unicode/b/CTRL wrapbracket");
+
+ key.type = TERMKEY_TYPE_KEY;
+ key.code.codepoint = 'c';
+ key.modifiers = TERMKEY_KEYMOD_ALT;
+ key.multibyte[0] = 0;
+
+ len = termkey_strfkey (tk, buffer, sizeof buffer, &key, 0);
+ is_int (len, 3, "length for unicode/c/ALT");
+ is_str (buffer, "A-c", "buffer for unicode/c/ALT");
+
+ len = termkey_strfkey (tk, buffer, sizeof buffer, &key,
+ TERMKEY_FORMAT_LONGMOD);
+ is_int (len, 5, "length for unicode/c/ALT longmod");
+ is_str (buffer, "Alt-c", "buffer for unicode/c/ALT longmod");
+
+ len = termkey_strfkey (tk, buffer, sizeof buffer, &key,
+ TERMKEY_FORMAT_ALTISMETA);
+ is_int (len, 3, "length for unicode/c/ALT altismeta");
+ is_str (buffer, "M-c", "buffer for unicode/c/ALT altismeta");
+
+ len = termkey_strfkey (tk, buffer, sizeof buffer, &key,
+ TERMKEY_FORMAT_LONGMOD|TERMKEY_FORMAT_ALTISMETA);
+ is_int (len, 6, "length for unicode/c/ALT longmod|altismeta");
+ is_str (buffer, "Meta-c", "buffer for unicode/c/ALT longmod|altismeta");
+
+ key.type = TERMKEY_TYPE_KEYSYM;
+ key.code.sym = TERMKEY_SYM_UP;
+ key.modifiers = 0;
+
+ len = termkey_strfkey (tk, buffer, sizeof buffer, &key, 0);
+ is_int (len, 2, "length for sym/Up/0");
+ is_str (buffer, "Up", "buffer for sym/Up/0");
+
+ len = termkey_strfkey (tk, buffer, sizeof buffer, &key,
+ TERMKEY_FORMAT_WRAPBRACKET);
+ is_int (len, 4, "length for sym/Up/0 wrapbracket");
+ is_str (buffer, "<Up>", "buffer for sym/Up/0 wrapbracket");
+
+ key.type = TERMKEY_TYPE_KEYSYM;
+ key.code.sym = TERMKEY_SYM_PAGEUP;
+ key.modifiers = 0;
+
+ len = termkey_strfkey (tk, buffer, sizeof buffer, &key, 0);
+ is_int (len, 6, "length for sym/PageUp/0");
+ is_str (buffer, "PageUp", "buffer for sym/PageUp/0");
+
+ len = termkey_strfkey (tk, buffer, sizeof buffer, &key,
+ TERMKEY_FORMAT_LOWERSPACE);
+ is_int (len, 7, "length for sym/PageUp/0 lowerspace");
+ is_str (buffer, "page up", "buffer for sym/PageUp/0 lowerspace");
+
+ /* If size of buffer is too small,
+ * strfkey should return something consistent */
+ len = termkey_strfkey (tk, buffer, 4, &key, 0);
+ is_int (len, 6, "length for sym/PageUp/0");
+ is_str (buffer, "Pag", "buffer of len 4 for sym/PageUp/0");
+
+ len = termkey_strfkey (tk, buffer, 4, &key, TERMKEY_FORMAT_LOWERSPACE);
+ is_int (len, 7, "length for sym/PageUp/0 lowerspace");
+ is_str (buffer, "pag", "buffer of len 4 for sym/PageUp/0 lowerspace");
+
+ key.type = TERMKEY_TYPE_FUNCTION;
+ key.code.number = 5;
+ key.modifiers = 0;
+
+ len = termkey_strfkey (tk, buffer, sizeof buffer, &key, 0);
+ is_int (len, 2, "length for func/5/0");
+ is_str (buffer, "F5", "buffer for func/5/0");
+
+ len = termkey_strfkey (tk, buffer, sizeof buffer, &key,
+ TERMKEY_FORMAT_WRAPBRACKET);
+ is_int (len, 4, "length for func/5/0 wrapbracket");
+ is_str (buffer, "<F5>", "buffer for func/5/0 wrapbracket");
+
+ len = termkey_strfkey (tk, buffer, sizeof buffer, &key,
+ TERMKEY_FORMAT_LOWERSPACE);
+ is_int (len, 2, "length for func/5/0 lowerspace");
+ is_str (buffer, "f5", "buffer for func/5/0 lowerspace");
+
+ termkey_destroy (tk);
+ return exit_status ();
}