Added TERMKEY_FORMAT_SPACEMOD

This commit is contained in:
Paul LeoNerd Evans
2013-08-26 00:56:07 +01:00
parent 89ac8b058c
commit 24abb0c59e
6 changed files with 39 additions and 9 deletions

View File

@@ -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;

View File

@@ -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);
@@ -85,6 +85,14 @@ int main(int argc, char *argv[])
is_str(key.utf8, "c", "key.utf8 for unicode/c/ALT altismeta+longmod");
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");