1c0abf9e6Sopenharmony_ci// SPDX-License-Identifier: MIT 2c0abf9e6Sopenharmony_ci/* 3c0abf9e6Sopenharmony_ci * Copyright © 2013 Red Hat, Inc. 4c0abf9e6Sopenharmony_ci */ 5c0abf9e6Sopenharmony_ci 6c0abf9e6Sopenharmony_ci#include "config.h" 7c0abf9e6Sopenharmony_ci#include "test-common.h" 8c0abf9e6Sopenharmony_ci 9c0abf9e6Sopenharmony_ciSTART_TEST(test_limits) 10c0abf9e6Sopenharmony_ci{ 11c0abf9e6Sopenharmony_ci ck_assert(libevdev_event_type_get_name(EV_MAX + 1) == NULL); 12c0abf9e6Sopenharmony_ci ck_assert(libevdev_event_code_get_name(EV_ABS, ABS_MAX + 1) == NULL); 13c0abf9e6Sopenharmony_ci ck_assert(libevdev_event_code_get_name(EV_REL, REL_MAX + 1) == NULL); 14c0abf9e6Sopenharmony_ci ck_assert(libevdev_event_code_get_name(EV_KEY, KEY_MAX + 1) == NULL); 15c0abf9e6Sopenharmony_ci ck_assert(libevdev_event_code_get_name(EV_LED, LED_MAX + 1) == NULL); 16c0abf9e6Sopenharmony_ci ck_assert(libevdev_event_code_get_name(EV_SW, SW_MAX + 1) == NULL); 17c0abf9e6Sopenharmony_ci ck_assert(libevdev_event_code_get_name(EV_MSC, MSC_MAX + 1) == NULL); 18c0abf9e6Sopenharmony_ci ck_assert(libevdev_event_code_get_name(EV_SND, SND_MAX + 1) == NULL); 19c0abf9e6Sopenharmony_ci ck_assert(libevdev_event_code_get_name(EV_REP, REP_MAX + 1) == NULL); 20c0abf9e6Sopenharmony_ci ck_assert(libevdev_event_code_get_name(EV_FF, FF_MAX + 1) == NULL); 21c0abf9e6Sopenharmony_ci ck_assert(libevdev_event_code_get_name(EV_MAX + 1, 0) == NULL); 22c0abf9e6Sopenharmony_ci ck_assert(libevdev_event_value_get_name(EV_ABS, ABS_MT_TOOL_TYPE, MT_TOOL_MAX + 1) == NULL); 23c0abf9e6Sopenharmony_ci} 24c0abf9e6Sopenharmony_ciEND_TEST 25c0abf9e6Sopenharmony_ci 26c0abf9e6Sopenharmony_ciSTART_TEST(test_type_name) 27c0abf9e6Sopenharmony_ci{ 28c0abf9e6Sopenharmony_ci ck_assert_str_eq(libevdev_event_type_get_name(EV_SYN), "EV_SYN"); 29c0abf9e6Sopenharmony_ci ck_assert_str_eq(libevdev_event_type_get_name(EV_REL), "EV_REL"); 30c0abf9e6Sopenharmony_ci ck_assert_str_eq(libevdev_event_type_get_name(EV_ABS), "EV_ABS"); 31c0abf9e6Sopenharmony_ci ck_assert_str_eq(libevdev_event_type_get_name(EV_MSC), "EV_MSC"); 32c0abf9e6Sopenharmony_ci ck_assert_str_eq(libevdev_event_type_get_name(EV_SW), "EV_SW"); 33c0abf9e6Sopenharmony_ci ck_assert_str_eq(libevdev_event_type_get_name(EV_LED), "EV_LED"); 34c0abf9e6Sopenharmony_ci ck_assert_str_eq(libevdev_event_type_get_name(EV_SND), "EV_SND"); 35c0abf9e6Sopenharmony_ci ck_assert_str_eq(libevdev_event_type_get_name(EV_REP), "EV_REP"); 36c0abf9e6Sopenharmony_ci ck_assert_str_eq(libevdev_event_type_get_name(EV_FF), "EV_FF"); 37c0abf9e6Sopenharmony_ci ck_assert_str_eq(libevdev_event_type_get_name(EV_PWR), "EV_PWR"); 38c0abf9e6Sopenharmony_ci ck_assert_str_eq(libevdev_event_type_get_name(EV_FF_STATUS), "EV_FF_STATUS"); 39c0abf9e6Sopenharmony_ci ck_assert_str_eq(libevdev_event_type_get_name(EV_MAX), "EV_MAX"); 40c0abf9e6Sopenharmony_ci} 41c0abf9e6Sopenharmony_ciEND_TEST 42c0abf9e6Sopenharmony_ci 43c0abf9e6Sopenharmony_ciSTART_TEST(test_code_abs_name) 44c0abf9e6Sopenharmony_ci{ 45c0abf9e6Sopenharmony_ci /* pick out a few only */ 46c0abf9e6Sopenharmony_ci ck_assert_str_eq(libevdev_event_code_get_name(EV_ABS, ABS_X), "ABS_X"); 47c0abf9e6Sopenharmony_ci ck_assert_str_eq(libevdev_event_code_get_name(EV_ABS, ABS_Y), "ABS_Y"); 48c0abf9e6Sopenharmony_ci 49c0abf9e6Sopenharmony_ci ck_assert_str_eq(libevdev_event_code_get_name(EV_ABS, ABS_MT_SLOT), "ABS_MT_SLOT"); 50c0abf9e6Sopenharmony_ci ck_assert_str_eq(libevdev_event_code_get_name(EV_ABS, ABS_MISC), "ABS_MISC"); 51c0abf9e6Sopenharmony_ci ck_assert_str_eq(libevdev_event_code_get_name(EV_ABS, ABS_MAX), "ABS_MAX"); 52c0abf9e6Sopenharmony_ci 53c0abf9e6Sopenharmony_ci ck_assert(libevdev_event_code_get_name(EV_ABS, ABS_MAX - 1) == NULL); 54c0abf9e6Sopenharmony_ci 55c0abf9e6Sopenharmony_ci} 56c0abf9e6Sopenharmony_ciEND_TEST 57c0abf9e6Sopenharmony_ci 58c0abf9e6Sopenharmony_ciSTART_TEST(test_code_rel_name) 59c0abf9e6Sopenharmony_ci{ 60c0abf9e6Sopenharmony_ci /* pick out a few only */ 61c0abf9e6Sopenharmony_ci ck_assert_str_eq(libevdev_event_code_get_name(EV_REL, REL_X), "REL_X"); 62c0abf9e6Sopenharmony_ci ck_assert_str_eq(libevdev_event_code_get_name(EV_REL, REL_Y), "REL_Y"); 63c0abf9e6Sopenharmony_ci ck_assert_str_eq(libevdev_event_code_get_name(EV_REL, REL_MISC), "REL_MISC"); 64c0abf9e6Sopenharmony_ci ck_assert_str_eq(libevdev_event_code_get_name(EV_REL, REL_MAX), "REL_MAX"); 65c0abf9e6Sopenharmony_ci 66c0abf9e6Sopenharmony_ci ck_assert(libevdev_event_code_get_name(EV_REL, REL_MAX - 1) == NULL); 67c0abf9e6Sopenharmony_ci 68c0abf9e6Sopenharmony_ci} 69c0abf9e6Sopenharmony_ciEND_TEST 70c0abf9e6Sopenharmony_ci 71c0abf9e6Sopenharmony_ciSTART_TEST(test_code_key_name) 72c0abf9e6Sopenharmony_ci{ 73c0abf9e6Sopenharmony_ci /* pick out a few only */ 74c0abf9e6Sopenharmony_ci ck_assert_str_eq(libevdev_event_code_get_name(EV_KEY, KEY_RESERVED), "KEY_RESERVED"); 75c0abf9e6Sopenharmony_ci ck_assert_str_eq(libevdev_event_code_get_name(EV_KEY, KEY_ESC), "KEY_ESC"); 76c0abf9e6Sopenharmony_ci ck_assert_str_eq(libevdev_event_code_get_name(EV_KEY, KEY_1), "KEY_1"); 77c0abf9e6Sopenharmony_ci ck_assert_str_eq(libevdev_event_code_get_name(EV_KEY, KEY_2), "KEY_2"); 78c0abf9e6Sopenharmony_ci ck_assert_str_eq(libevdev_event_code_get_name(EV_KEY, KEY_UNKNOWN), "KEY_UNKNOWN"); 79c0abf9e6Sopenharmony_ci 80c0abf9e6Sopenharmony_ci ck_assert_str_eq(libevdev_event_code_get_name(EV_KEY, BTN_0), "BTN_0"); 81c0abf9e6Sopenharmony_ci ck_assert_str_eq(libevdev_event_code_get_name(EV_KEY, BTN_LEFT), "BTN_LEFT"); 82c0abf9e6Sopenharmony_ci ck_assert_str_eq(libevdev_event_code_get_name(EV_KEY, BTN_TRIGGER), "BTN_TRIGGER"); 83c0abf9e6Sopenharmony_ci ck_assert_str_eq(libevdev_event_code_get_name(EV_KEY, BTN_A), "BTN_SOUTH"); 84c0abf9e6Sopenharmony_ci ck_assert_str_eq(libevdev_event_code_get_name(EV_KEY, BTN_TOOL_PEN), "BTN_TOOL_PEN"); 85c0abf9e6Sopenharmony_ci 86c0abf9e6Sopenharmony_ci ck_assert_str_eq(libevdev_event_code_get_name(EV_KEY, KEY_TOUCHPAD_TOGGLE), "KEY_TOUCHPAD_TOGGLE"); 87c0abf9e6Sopenharmony_ci ck_assert_str_eq(libevdev_event_code_get_name(EV_KEY, BTN_TRIGGER_HAPPY), "BTN_TRIGGER_HAPPY1"); 88c0abf9e6Sopenharmony_ci 89c0abf9e6Sopenharmony_ci ck_assert_str_eq(libevdev_event_code_get_name(EV_KEY, KEY_MAX), "KEY_MAX"); 90c0abf9e6Sopenharmony_ci ck_assert(libevdev_event_code_get_name(EV_KEY, KEY_MAX - 1) == NULL); 91c0abf9e6Sopenharmony_ci 92c0abf9e6Sopenharmony_ci /* special cases that resolve to something else */ 93c0abf9e6Sopenharmony_ci ck_assert_str_eq(libevdev_event_code_get_name(EV_KEY, KEY_HANGUEL), "KEY_HANGEUL"); 94c0abf9e6Sopenharmony_ci ck_assert_str_eq(libevdev_event_code_get_name(EV_KEY, KEY_SCREENLOCK), "KEY_COFFEE"); 95c0abf9e6Sopenharmony_ci ck_assert_str_eq(libevdev_event_code_get_name(EV_KEY, BTN_MISC), "BTN_0"); 96c0abf9e6Sopenharmony_ci ck_assert_str_eq(libevdev_event_code_get_name(EV_KEY, BTN_MOUSE), "BTN_LEFT"); 97c0abf9e6Sopenharmony_ci ck_assert_str_eq(libevdev_event_code_get_name(EV_KEY, BTN_JOYSTICK), "BTN_TRIGGER"); 98c0abf9e6Sopenharmony_ci ck_assert_str_eq(libevdev_event_code_get_name(EV_KEY, BTN_GAMEPAD), "BTN_SOUTH"); 99c0abf9e6Sopenharmony_ci ck_assert_str_eq(libevdev_event_code_get_name(EV_KEY, BTN_DIGI), "BTN_TOOL_PEN"); 100c0abf9e6Sopenharmony_ci ck_assert_str_eq(libevdev_event_code_get_name(EV_KEY, BTN_WHEEL), "BTN_GEAR_DOWN"); 101c0abf9e6Sopenharmony_ci ck_assert_str_eq(libevdev_event_code_get_name(EV_KEY, BTN_TRIGGER_HAPPY), "BTN_TRIGGER_HAPPY1"); 102c0abf9e6Sopenharmony_ci 103c0abf9e6Sopenharmony_ci} 104c0abf9e6Sopenharmony_ciEND_TEST 105c0abf9e6Sopenharmony_ci 106c0abf9e6Sopenharmony_ciSTART_TEST(test_code_led_name) 107c0abf9e6Sopenharmony_ci{ 108c0abf9e6Sopenharmony_ci /* pick out a few only */ 109c0abf9e6Sopenharmony_ci ck_assert_str_eq(libevdev_event_code_get_name(EV_LED, LED_NUML), "LED_NUML"); 110c0abf9e6Sopenharmony_ci ck_assert_str_eq(libevdev_event_code_get_name(EV_LED, LED_KANA), "LED_KANA"); 111c0abf9e6Sopenharmony_ci ck_assert_str_eq(libevdev_event_code_get_name(EV_LED, LED_MAX), "LED_MAX"); 112c0abf9e6Sopenharmony_ci 113c0abf9e6Sopenharmony_ci ck_assert(libevdev_event_code_get_name(EV_LED, LED_MAX - 1) == NULL); 114c0abf9e6Sopenharmony_ci 115c0abf9e6Sopenharmony_ci} 116c0abf9e6Sopenharmony_ciEND_TEST 117c0abf9e6Sopenharmony_ci 118c0abf9e6Sopenharmony_ciSTART_TEST(test_code_snd_name) 119c0abf9e6Sopenharmony_ci{ 120c0abf9e6Sopenharmony_ci /* pick out a few only */ 121c0abf9e6Sopenharmony_ci ck_assert_str_eq(libevdev_event_code_get_name(EV_SND, SND_CLICK), "SND_CLICK"); 122c0abf9e6Sopenharmony_ci ck_assert_str_eq(libevdev_event_code_get_name(EV_SND, SND_TONE), "SND_TONE"); 123c0abf9e6Sopenharmony_ci ck_assert_str_eq(libevdev_event_code_get_name(EV_SND, SND_MAX), "SND_MAX"); 124c0abf9e6Sopenharmony_ci 125c0abf9e6Sopenharmony_ci ck_assert(libevdev_event_code_get_name(EV_SND, SND_MAX - 1) == NULL); 126c0abf9e6Sopenharmony_ci 127c0abf9e6Sopenharmony_ci} 128c0abf9e6Sopenharmony_ciEND_TEST 129c0abf9e6Sopenharmony_ci 130c0abf9e6Sopenharmony_ciSTART_TEST(test_code_rep_name) 131c0abf9e6Sopenharmony_ci{ 132c0abf9e6Sopenharmony_ci ck_assert_str_eq(libevdev_event_code_get_name(EV_REP, REP_DELAY), "REP_DELAY"); 133c0abf9e6Sopenharmony_ci ck_assert_str_eq(libevdev_event_code_get_name(EV_REP, REP_PERIOD), "REP_PERIOD"); 134c0abf9e6Sopenharmony_ci ck_assert_str_eq(libevdev_event_code_get_name(EV_REP, REP_MAX), "REP_PERIOD"); 135c0abf9e6Sopenharmony_ci 136c0abf9e6Sopenharmony_ci} 137c0abf9e6Sopenharmony_ciEND_TEST 138c0abf9e6Sopenharmony_ci 139c0abf9e6Sopenharmony_ciSTART_TEST(test_code_msc_name) 140c0abf9e6Sopenharmony_ci{ 141c0abf9e6Sopenharmony_ci /* pick out a few only */ 142c0abf9e6Sopenharmony_ci ck_assert_str_eq(libevdev_event_code_get_name(EV_MSC, MSC_SERIAL), "MSC_SERIAL"); 143c0abf9e6Sopenharmony_ci ck_assert_str_eq(libevdev_event_code_get_name(EV_MSC, MSC_RAW), "MSC_RAW"); 144c0abf9e6Sopenharmony_ci#ifdef MSC_TIMESTAMP 145c0abf9e6Sopenharmony_ci ck_assert_str_eq(libevdev_event_code_get_name(EV_MSC, MSC_TIMESTAMP), "MSC_TIMESTAMP"); 146c0abf9e6Sopenharmony_ci#endif 147c0abf9e6Sopenharmony_ci ck_assert_str_eq(libevdev_event_code_get_name(EV_MSC, MSC_MAX), "MSC_MAX"); 148c0abf9e6Sopenharmony_ci 149c0abf9e6Sopenharmony_ci ck_assert(libevdev_event_code_get_name(EV_MSC, MSC_MAX - 1) == NULL); 150c0abf9e6Sopenharmony_ci 151c0abf9e6Sopenharmony_ci} 152c0abf9e6Sopenharmony_ciEND_TEST 153c0abf9e6Sopenharmony_ci 154c0abf9e6Sopenharmony_ciSTART_TEST(test_code_sw_name) 155c0abf9e6Sopenharmony_ci{ 156c0abf9e6Sopenharmony_ci /* pick out a few only */ 157c0abf9e6Sopenharmony_ci ck_assert_str_eq(libevdev_event_code_get_name(EV_SW, SW_LID), "SW_LID"); 158c0abf9e6Sopenharmony_ci ck_assert_str_eq(libevdev_event_code_get_name(EV_SW, SW_RFKILL_ALL), "SW_RFKILL_ALL"); 159c0abf9e6Sopenharmony_ci ck_assert_str_eq(libevdev_event_code_get_name(EV_SW, SW_LINEIN_INSERT), "SW_LINEIN_INSERT"); 160c0abf9e6Sopenharmony_ci ck_assert_str_eq(libevdev_event_code_get_name(EV_SW, SW_PEN_INSERTED), "SW_PEN_INSERTED"); 161c0abf9e6Sopenharmony_ci ck_assert_str_eq(libevdev_event_code_get_name(EV_SW, SW_MAX), "SW_MACHINE_COVER"); 162c0abf9e6Sopenharmony_ci} 163c0abf9e6Sopenharmony_ciEND_TEST 164c0abf9e6Sopenharmony_ci 165c0abf9e6Sopenharmony_ciSTART_TEST(test_code_ff_name) 166c0abf9e6Sopenharmony_ci{ 167c0abf9e6Sopenharmony_ci /* pick out a few only */ 168c0abf9e6Sopenharmony_ci ck_assert_str_eq(libevdev_event_code_get_name(EV_FF, FF_STATUS_STOPPED), "FF_STATUS_STOPPED"); 169c0abf9e6Sopenharmony_ci ck_assert_str_eq(libevdev_event_code_get_name(EV_FF, FF_FRICTION), "FF_FRICTION"); 170c0abf9e6Sopenharmony_ci ck_assert_str_eq(libevdev_event_code_get_name(EV_FF, FF_CUSTOM), "FF_CUSTOM"); 171c0abf9e6Sopenharmony_ci ck_assert_str_eq(libevdev_event_code_get_name(EV_FF, FF_MAX), "FF_MAX"); 172c0abf9e6Sopenharmony_ci 173c0abf9e6Sopenharmony_ci ck_assert(libevdev_event_code_get_name(EV_FF, FF_MAX - 1) == NULL); 174c0abf9e6Sopenharmony_ci 175c0abf9e6Sopenharmony_ci} 176c0abf9e6Sopenharmony_ciEND_TEST 177c0abf9e6Sopenharmony_ci 178c0abf9e6Sopenharmony_ciSTART_TEST(test_code_syn_name) 179c0abf9e6Sopenharmony_ci{ 180c0abf9e6Sopenharmony_ci ck_assert_str_eq(libevdev_event_code_get_name(EV_SYN, SYN_REPORT), "SYN_REPORT"); 181c0abf9e6Sopenharmony_ci ck_assert_str_eq(libevdev_event_code_get_name(EV_SYN, SYN_CONFIG), "SYN_CONFIG"); 182c0abf9e6Sopenharmony_ci ck_assert_str_eq(libevdev_event_code_get_name(EV_SYN, SYN_MT_REPORT), "SYN_MT_REPORT"); 183c0abf9e6Sopenharmony_ci ck_assert_str_eq(libevdev_event_code_get_name(EV_SYN, SYN_DROPPED), "SYN_DROPPED"); 184c0abf9e6Sopenharmony_ci ck_assert_str_eq(libevdev_event_code_get_name(EV_SYN, SYN_MAX), "SYN_MAX"); 185c0abf9e6Sopenharmony_ci} 186c0abf9e6Sopenharmony_ciEND_TEST 187c0abf9e6Sopenharmony_ci 188c0abf9e6Sopenharmony_ciSTART_TEST(test_value_name) 189c0abf9e6Sopenharmony_ci{ 190c0abf9e6Sopenharmony_ci unsigned int type, code; 191c0abf9e6Sopenharmony_ci int value; 192c0abf9e6Sopenharmony_ci 193c0abf9e6Sopenharmony_ci for (type = 0; type < EV_MAX; type++) { 194c0abf9e6Sopenharmony_ci int max = libevdev_event_type_get_max(type); 195c0abf9e6Sopenharmony_ci 196c0abf9e6Sopenharmony_ci if (max == -1) 197c0abf9e6Sopenharmony_ci continue; 198c0abf9e6Sopenharmony_ci 199c0abf9e6Sopenharmony_ci for (code = 0; code < (unsigned int)max; code++) { 200c0abf9e6Sopenharmony_ci if (type == EV_ABS && code == ABS_MT_TOOL_TYPE) 201c0abf9e6Sopenharmony_ci continue; 202c0abf9e6Sopenharmony_ci 203c0abf9e6Sopenharmony_ci for (value = 0; value < 0xff; value++) { 204c0abf9e6Sopenharmony_ci ck_assert(libevdev_event_value_get_name(type, code, value) == NULL); 205c0abf9e6Sopenharmony_ci } 206c0abf9e6Sopenharmony_ci } 207c0abf9e6Sopenharmony_ci } 208c0abf9e6Sopenharmony_ci 209c0abf9e6Sopenharmony_ci ck_assert_str_eq(libevdev_event_value_get_name(EV_ABS, ABS_MT_TOOL_TYPE, MT_TOOL_FINGER), "MT_TOOL_FINGER"); 210c0abf9e6Sopenharmony_ci ck_assert_str_eq(libevdev_event_value_get_name(EV_ABS, ABS_MT_TOOL_TYPE, MT_TOOL_PALM), "MT_TOOL_PALM"); 211c0abf9e6Sopenharmony_ci ck_assert_str_eq(libevdev_event_value_get_name(EV_ABS, ABS_MT_TOOL_TYPE, MT_TOOL_PEN), "MT_TOOL_PEN"); 212c0abf9e6Sopenharmony_ci ck_assert_str_eq(libevdev_event_value_get_name(EV_ABS, ABS_MT_TOOL_TYPE, MT_TOOL_MAX), "MT_TOOL_MAX"); 213c0abf9e6Sopenharmony_ci ck_assert(libevdev_event_value_get_name(EV_ABS, ABS_MT_TOOL_TYPE, -1) == NULL); 214c0abf9e6Sopenharmony_ci} 215c0abf9e6Sopenharmony_ciEND_TEST 216c0abf9e6Sopenharmony_ci 217c0abf9e6Sopenharmony_ciSTART_TEST(test_prop_name) 218c0abf9e6Sopenharmony_ci{ 219c0abf9e6Sopenharmony_ci ck_assert_str_eq(libevdev_property_get_name(INPUT_PROP_POINTER), "INPUT_PROP_POINTER"); 220c0abf9e6Sopenharmony_ci ck_assert_str_eq(libevdev_property_get_name(INPUT_PROP_DIRECT), "INPUT_PROP_DIRECT"); 221c0abf9e6Sopenharmony_ci ck_assert_str_eq(libevdev_property_get_name(INPUT_PROP_BUTTONPAD), "INPUT_PROP_BUTTONPAD"); 222c0abf9e6Sopenharmony_ci ck_assert_str_eq(libevdev_property_get_name(INPUT_PROP_SEMI_MT), "INPUT_PROP_SEMI_MT"); 223c0abf9e6Sopenharmony_ci ck_assert_str_eq(libevdev_property_get_name(INPUT_PROP_MAX), "INPUT_PROP_MAX"); 224c0abf9e6Sopenharmony_ci 225c0abf9e6Sopenharmony_ci ck_assert(libevdev_property_get_name(INPUT_PROP_MAX - 1) == NULL); 226c0abf9e6Sopenharmony_ci ck_assert(libevdev_property_get_name(INPUT_PROP_MAX + 1) == NULL); 227c0abf9e6Sopenharmony_ci} 228c0abf9e6Sopenharmony_ciEND_TEST 229c0abf9e6Sopenharmony_ci 230c0abf9e6Sopenharmony_ciSTART_TEST(test_event_type_max) 231c0abf9e6Sopenharmony_ci{ 232c0abf9e6Sopenharmony_ci ck_assert_int_eq(libevdev_event_type_get_max(EV_ABS), ABS_MAX); 233c0abf9e6Sopenharmony_ci ck_assert_int_eq(libevdev_event_type_get_max(EV_REL), REL_MAX); 234c0abf9e6Sopenharmony_ci ck_assert_int_eq(libevdev_event_type_get_max(EV_KEY), KEY_MAX); 235c0abf9e6Sopenharmony_ci 236c0abf9e6Sopenharmony_ci ck_assert_int_eq(libevdev_event_type_get_max(EV_MAX - 1), -1); 237c0abf9e6Sopenharmony_ci ck_assert_int_eq(libevdev_event_type_get_max(EV_MAX + 1), -1); 238c0abf9e6Sopenharmony_ci 239c0abf9e6Sopenharmony_ci} 240c0abf9e6Sopenharmony_ciEND_TEST 241c0abf9e6Sopenharmony_ci 242c0abf9e6Sopenharmony_ciSTART_TEST(test_event_type) 243c0abf9e6Sopenharmony_ci{ 244c0abf9e6Sopenharmony_ci struct input_event ev; 245c0abf9e6Sopenharmony_ci int i = 0; 246c0abf9e6Sopenharmony_ci 247c0abf9e6Sopenharmony_ci ev.type = EV_REL; 248c0abf9e6Sopenharmony_ci 249c0abf9e6Sopenharmony_ci ck_assert_int_eq(libevdev_event_is_type(&ev, EV_REL), 1); 250c0abf9e6Sopenharmony_ci for (i = 0; i < EV_CNT; i++) { 251c0abf9e6Sopenharmony_ci if (i == ev.type) 252c0abf9e6Sopenharmony_ci continue; 253c0abf9e6Sopenharmony_ci ck_assert_int_eq(libevdev_event_is_type(&ev, i), 0); 254c0abf9e6Sopenharmony_ci } 255c0abf9e6Sopenharmony_ci ck_assert_int_eq(libevdev_event_is_type(&ev, EV_MAX + 1), 0); 256c0abf9e6Sopenharmony_ci} 257c0abf9e6Sopenharmony_ciEND_TEST 258c0abf9e6Sopenharmony_ci 259c0abf9e6Sopenharmony_ciSTART_TEST(test_event_code) 260c0abf9e6Sopenharmony_ci{ 261c0abf9e6Sopenharmony_ci struct input_event ev; 262c0abf9e6Sopenharmony_ci int i = 0; 263c0abf9e6Sopenharmony_ci 264c0abf9e6Sopenharmony_ci ev.type = EV_REL; 265c0abf9e6Sopenharmony_ci ev.code = REL_Y; 266c0abf9e6Sopenharmony_ci 267c0abf9e6Sopenharmony_ci ck_assert_int_eq(libevdev_event_is_code(&ev, EV_REL, REL_Y), 1); 268c0abf9e6Sopenharmony_ci for (i = 0; i < EV_CNT; i++) { 269c0abf9e6Sopenharmony_ci int j; 270c0abf9e6Sopenharmony_ci if (i == ev.type || i == EV_SYN) 271c0abf9e6Sopenharmony_ci continue; 272c0abf9e6Sopenharmony_ci 273c0abf9e6Sopenharmony_ci for (j = 0; j < libevdev_event_type_get_max(i); i++) { 274c0abf9e6Sopenharmony_ci ck_assert_int_eq(libevdev_event_is_code(&ev, i, j), 0); 275c0abf9e6Sopenharmony_ci } 276c0abf9e6Sopenharmony_ci } 277c0abf9e6Sopenharmony_ci ck_assert_int_eq(libevdev_event_is_code(&ev, EV_MAX + 1, ev.code), 0); 278c0abf9e6Sopenharmony_ci ck_assert_int_eq(libevdev_event_is_code(&ev, EV_REL, REL_MAX + 1), 0); 279c0abf9e6Sopenharmony_ci 280c0abf9e6Sopenharmony_ci ev.type = EV_SYN; 281c0abf9e6Sopenharmony_ci ev.code = SYN_REPORT; 282c0abf9e6Sopenharmony_ci ck_assert_int_eq(libevdev_event_is_code(&ev, EV_SYN, SYN_REPORT), 1); 283c0abf9e6Sopenharmony_ci ck_assert_int_eq(libevdev_event_is_code(&ev, EV_SYN, SYN_DROPPED), 0); 284c0abf9e6Sopenharmony_ci} 285c0abf9e6Sopenharmony_ciEND_TEST 286c0abf9e6Sopenharmony_ci 287c0abf9e6Sopenharmony_ciTEST_SUITE(event_name_suite) 288c0abf9e6Sopenharmony_ci{ 289c0abf9e6Sopenharmony_ci Suite *s = suite_create("Event names"); 290c0abf9e6Sopenharmony_ci 291c0abf9e6Sopenharmony_ci add_test(s, test_limits); 292c0abf9e6Sopenharmony_ci add_test(s, test_event_type_max); 293c0abf9e6Sopenharmony_ci 294c0abf9e6Sopenharmony_ci add_test(s, test_type_name); 295c0abf9e6Sopenharmony_ci 296c0abf9e6Sopenharmony_ci add_test(s, test_code_abs_name); 297c0abf9e6Sopenharmony_ci add_test(s, test_code_rel_name); 298c0abf9e6Sopenharmony_ci add_test(s, test_code_key_name); 299c0abf9e6Sopenharmony_ci add_test(s, test_code_led_name); 300c0abf9e6Sopenharmony_ci add_test(s, test_code_snd_name); 301c0abf9e6Sopenharmony_ci add_test(s, test_code_rep_name); 302c0abf9e6Sopenharmony_ci add_test(s, test_code_msc_name); 303c0abf9e6Sopenharmony_ci add_test(s, test_code_sw_name); 304c0abf9e6Sopenharmony_ci add_test(s, test_code_ff_name); 305c0abf9e6Sopenharmony_ci add_test(s, test_code_syn_name); 306c0abf9e6Sopenharmony_ci 307c0abf9e6Sopenharmony_ci add_test(s, test_value_name); 308c0abf9e6Sopenharmony_ci add_test(s, test_prop_name); 309c0abf9e6Sopenharmony_ci 310c0abf9e6Sopenharmony_ci add_test(s, test_event_type); 311c0abf9e6Sopenharmony_ci add_test(s, test_event_code); 312c0abf9e6Sopenharmony_ci 313c0abf9e6Sopenharmony_ci return s; 314c0abf9e6Sopenharmony_ci} 315