import sys
class Bits(object):
- pass
+ def __init__(self):
+ self.max_codes = {}
prefixes = [
"EV_",
if prefix == "btn":
names = names + btn_additional;
+ # We need to manually add the _MAX codes because some are
+ # duplicates
+ maxname = "%s_MAX" % (prefix.upper())
+ if maxname in duplicates:
+ names.append((bits.max_codes[maxname], maxname))
+
for val, name in sorted(names, key=lambda e: e[1]):
print(" { .name = \"%s\", .value = %s }," % (name, name))
name = m.group(1)
- if name in duplicates:
- return
-
try:
value = int(m.group(2), 0)
except ValueError:
if not name.startswith(prefix):
continue
+ if name.endswith("_MAX"):
+ bits.max_codes[name] = value
+
+ if name in duplicates:
+ return
+
attrname = prefix[:-1].lower()
if not hasattr(bits, attrname):
}
END_TEST
+START_TEST(test_code_names_max)
+{
+ ck_assert_int_eq(libevdev_event_code_from_name(EV_SYN, "SYN_MAX"), SYN_MAX);
+ ck_assert_int_eq(libevdev_event_code_from_name(EV_KEY, "KEY_MAX"), KEY_MAX);
+ ck_assert_int_eq(libevdev_event_code_from_name(EV_REL, "REL_MAX"), REL_MAX);
+ ck_assert_int_eq(libevdev_event_code_from_name(EV_ABS, "ABS_MAX"), ABS_MAX);
+ ck_assert_int_eq(libevdev_event_code_from_name(EV_MSC, "MSC_MAX"), MSC_MAX);
+ ck_assert_int_eq(libevdev_event_code_from_name(EV_SW, "SW_MAX"), SW_MAX);
+ ck_assert_int_eq(libevdev_event_code_from_name(EV_LED, "LED_MAX"), LED_MAX);
+ ck_assert_int_eq(libevdev_event_code_from_name(EV_SND, "SND_MAX"), SND_MAX);
+ ck_assert_int_eq(libevdev_event_code_from_name(EV_REP, "REP_MAX"), REP_MAX);
+ ck_assert_int_eq(libevdev_event_code_from_name(EV_FF, "FF_MAX"), FF_MAX);
+}
+END_TEST
+
START_TEST(test_properties)
{
struct prop {
tc = tcase_create("code tests");
tcase_add_test(tc, test_code_names);
tcase_add_test(tc, test_code_names_invalid);
+ tcase_add_test(tc, test_code_names_max);
suite_add_tcase(s, tc);
tc = tcase_create("property tests");