aboutsummaryrefslogtreecommitdiff
path: root/t
diff options
context:
space:
mode:
Diffstat (limited to 't')
-rw-r--r--t/11strfkey.c15
-rw-r--r--t/12strpkey.c10
2 files changed, 23 insertions, 2 deletions
diff --git a/t/11strfkey.c b/t/11strfkey.c
index bea3a22..20d822f 100644
--- a/t/11strfkey.c
+++ b/t/11strfkey.c
@@ -8,7 +8,7 @@ int main(int argc, char *argv[])
char buffer[16];
size_t len;
- plan_tests(28);
+ plan_tests(32);
tk = termkey_new_abstract("vt100", 0);
@@ -38,6 +38,11 @@ int main(int argc, char *argv[])
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_CARETCTRL);
is_int(len, 2, "length for unicode/b/CTRL caretctrl");
is_str(buffer, "^B", "buffer for unicode/b/CTRL caretctrl");
@@ -79,6 +84,14 @@ int main(int argc, char *argv[])
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");
+
key.type = TERMKEY_TYPE_FUNCTION;
key.code.number = 5;
key.modifiers = 0;
diff --git a/t/12strpkey.c b/t/12strpkey.c
index 28c32f5..9f20883 100644
--- a/t/12strpkey.c
+++ b/t/12strpkey.c
@@ -9,7 +9,7 @@ int main(int argc, char *argv[])
#define CLEAR_KEY do { key.type = -1; key.code.codepoint = -1; key.modifiers = -1; key.utf8[0] = 0; } while(0)
- plan_tests(53);
+ plan_tests(58);
tk = termkey_new_abstract("vt100", 0);
@@ -86,6 +86,14 @@ int main(int argc, char *argv[])
is_str(endp, "", "consumed entire input for unicode/c/ALT altismeta+longmod");
CLEAR_KEY;
+ endp = termkey_strpkey(tk, "Meta c", &key, TERMKEY_FORMAT_ALTISMETA|TERMKEY_FORMAT_LONGMOD|TERMKEY_FORMAT_SPACEMOD);
+ is_int(key.type, TERMKEY_TYPE_UNICODE, "key.type for unicode/c/ALT altismeta+long/lowermod");
+ is_int(key.code.codepoint, 'c', "key.code.codepoint for unicode/c/ALT altismeta+long/lowermod");
+ is_int(key.modifiers, TERMKEY_KEYMOD_ALT, "key.modifiers for unicode/c/ALT altismeta+long/lowermod");
+ is_str(key.utf8, "c", "key.utf8 for unicode/c/ALT altismeta+long/lowermod");
+ is_str(endp, "", "consumed entire input for unicode/c/ALT altismeta+longmod");
+
+ CLEAR_KEY;
endp = termkey_strpkey(tk, "Up", &key, 0);
is_int(key.type, TERMKEY_TYPE_KEYSYM, "key.type for sym/Up/0");
is_int(key.code.sym, TERMKEY_SYM_UP, "key.code.codepoint for sym/Up/0");