8 test_string(const char *string, xkb_keysym_t expected)
12 keysym = xkb_keysym_from_name(string);
14 fprintf(stderr, "Expected string %s -> %x\n", string, expected);
15 fprintf(stderr, "Received string %s -> %x\n\n", string, keysym);
17 return keysym == expected;
21 test_keysym(xkb_keysym_t keysym, const char *expected)
25 xkb_keysym_get_name(keysym, s, sizeof(s));
27 fprintf(stderr, "Expected keysym %#x -> %s\n", keysym, expected);
28 fprintf(stderr, "Received keysym %#x -> %s\n\n", keysym, s);
30 return streq(s, expected);
34 test_utf8(xkb_keysym_t keysym, const char *expected)
39 ret = xkb_keysym_to_utf8(keysym, s, sizeof(s));
43 fprintf(stderr, "Expected keysym %#x -> %s\n", keysym, expected);
44 fprintf(stderr, "Received keysym %#x -> %s\n\n", keysym, s);
46 return streq(s, expected);
52 assert(test_string("Undo", 0xFF65));
53 assert(test_string("ThisKeyShouldNotExist", XKB_KEY_NoSymbol));
54 assert(test_string("XF86_Switch_VT_5", 0x1008FE05));
55 assert(test_string("VoidSymbol", 0xFFFFFF));
56 assert(test_string("U4567", 0x1004567));
57 assert(test_string("0x10203040", 0x10203040));
59 assert(test_keysym(0x1008FF56, "XF86Close"));
60 assert(test_keysym(0x0, "NoSymbol"));
61 assert(test_keysym(0x1008FE20, "XF86Ungrab"));
62 assert(test_keysym(0x01001234, "U1234"));
64 assert(test_utf8(XKB_KEY_y, "y"));
65 assert(test_utf8(XKB_KEY_u, "u"));
66 assert(test_utf8(XKB_KEY_m, "m"));
67 assert(test_utf8(XKB_KEY_Cyrillic_em, "м"));
68 assert(test_utf8(XKB_KEY_Cyrillic_u, "у"));
69 assert(test_utf8(XKB_KEY_exclam, "!"));
70 assert(test_utf8(XKB_KEY_oslash, "ø"));
71 assert(test_utf8(XKB_KEY_hebrew_aleph, "א"));
72 assert(test_utf8(XKB_KEY_Arabic_sheen, "ش"));
74 assert(test_utf8(XKB_KEY_space, " "));
75 assert(test_utf8(XKB_KEY_KP_Space, " "));
76 assert(test_utf8(XKB_KEY_9, "9"));
77 assert(test_utf8(XKB_KEY_KP_9, "9"));
78 assert(test_utf8(XKB_KEY_KP_Multiply, "*"));
79 assert(test_utf8(XKB_KEY_KP_Subtract, "-"));