aboutsummaryrefslogtreecommitdiff
path: root/t/10keyname.c
blob: 7a35ad7ed4757c0465977b2964ca4cfb12472bd2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
#include "../termkey.h"
#include "taplib.h"

int main(int argc, char *argv[])
{
  TermKey   *tk;
  TermKeySym sym;
  char *end;

  plan_tests(10);

  tk = termkey_new(-1, 0);

  sym = termkey_keyname2sym(tk, "Space");
  is_int(sym, TERMKEY_SYM_SPACE, "keyname2sym Space");

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

  return exit_status();
}