Provide a termkey_lookup_keyname that can do partial buffer parsing

This commit is contained in:
Paul LeoNerd Evans
2011-04-01 13:26:54 +01:00
parent 6adb2324f5
commit dbb13defb7
6 changed files with 64 additions and 13 deletions

View File

@@ -5,8 +5,9 @@ int main(int argc, char *argv[])
{
TermKey *tk;
TermKeySym sym;
char *end;
plan_tests(3);
plan_tests(10);
tk = termkey_new(0, TERMKEY_FLAG_NOTERMIOS);
@@ -16,6 +17,19 @@ int main(int argc, char *argv[])
sym = termkey_keyname2sym(tk, "SomeUnknownKey");
is_int(sym, TERMKEY_SYM_UNKNOWN, "keyname2sym SomeUnknownKey");
end = termkey_lookup_keyname(tk, "Up", &sym);
ok(!!end, "termkey_get_keyname Up returns non-NULL");
is_str(end, "", "termkey_get_keyname Up return points at endofstring");
is_int(sym, TERMKEY_SYM_UP, "termkey_get_keyname Up yields Up symbol");
end = termkey_lookup_keyname(tk, "DownMore", &sym);
ok(!!end, "termkey_get_keyname DownMore returns non-NULL");
is_str(end, "More", "termkey_get_keyname DownMore return points at More");
is_int(sym, TERMKEY_SYM_DOWN, "termkey_get_keyname DownMore yields Down symbol");
end = termkey_lookup_keyname(tk, "SomeUnknownKey", &sym);
ok(!end, "termkey_get_keyname SomeUnknownKey returns NULL");
is_str(termkey_get_keyname(tk, TERMKEY_SYM_SPACE), "Space", "get_keyname SPACE");
termkey_destroy(tk);