9 test_string(const char *string, xkb_keysym_t expected)
13 keysym = xkb_keysym_from_name(string);
15 fprintf(stderr, "Expected string %s -> %x\n", string, expected);
16 fprintf(stderr, "Received string %s -> %x\n\n", string, keysym);
18 return keysym == expected;
22 test_keysym(xkb_keysym_t keysym, const char *expected)
26 xkb_keysym_get_name(keysym, s, sizeof(s));
28 fprintf(stderr, "Expected keysym %#x -> %s\n", keysym, expected);
29 fprintf(stderr, "Received keysym %#x -> %s\n\n", keysym, s);
31 return streq(s, expected);
35 test_utf8(xkb_keysym_t keysym, const char *expected)
40 ret = xkb_keysym_to_utf8(keysym, s, sizeof(s));
44 fprintf(stderr, "Expected keysym %#x -> %s\n", keysym, expected);
45 fprintf(stderr, "Received keysym %#x -> %s\n\n", keysym, s);
47 return streq(s, expected);
53 assert(test_string("Undo", 0xFF65));
54 assert(test_string("ThisKeyShouldNotExist", XKB_KEY_NoSymbol));
55 assert(test_string("XF86_Switch_VT_5", 0x1008FE05));
56 assert(test_string("VoidSymbol", 0xFFFFFF));
57 assert(test_string("U4567", 0x1004567));
58 assert(test_string("0x10203040", 0x10203040));
60 assert(test_keysym(0x1008FF56, "XF86Close"));
61 assert(test_keysym(0x0, "NoSymbol"));
62 assert(test_keysym(0x1008FE20, "XF86Ungrab"));
63 assert(test_keysym(0x01001234, "U1234"));
65 assert(test_utf8(XKB_KEY_y, "y"));
66 assert(test_utf8(XKB_KEY_u, "u"));
67 assert(test_utf8(XKB_KEY_m, "m"));
68 assert(test_utf8(XKB_KEY_Cyrillic_em, "м"));
69 assert(test_utf8(XKB_KEY_Cyrillic_u, "у"));
70 assert(test_utf8(XKB_KEY_exclam, "!"));
71 assert(test_utf8(XKB_KEY_oslash, "ø"));
72 assert(test_utf8(XKB_KEY_hebrew_aleph, "א"));
73 assert(test_utf8(XKB_KEY_Arabic_sheen, "ش"));
75 assert(test_utf8(XKB_KEY_space, " "));
76 assert(test_utf8(XKB_KEY_KP_Space, " "));
77 assert(test_utf8(XKB_KEY_9, "9"));
78 assert(test_utf8(XKB_KEY_KP_9, "9"));
79 assert(test_utf8(XKB_KEY_KP_Multiply, "*"));
80 assert(test_utf8(XKB_KEY_KP_Subtract, "-"));