summaryrefslogtreecommitdiff
path: root/test/test-device.c
diff options
context:
space:
mode:
authorPeter Hutterer <peter.hutterer@who-t.net>2020-05-28 16:41:09 +1000
committerPeter Hutterer <peter.hutterer@who-t.net>2020-06-03 22:32:56 +0000
commit4058c43579f23b3abe288b7480fe2a4e70aaea20 (patch)
tree5a6052d14fe0de5a70dc6b1e0070e26ca00eb6e6 /test/test-device.c
parent84fda690bdf92ee44550f553a7262192c57aaa84 (diff)
downloadlibinput-4058c43579f23b3abe288b7480fe2a4e70aaea20.tar.gz
evdev: a device without any seat caps is an unhandled device
If we don't have any caps, assume the device is unhandled and ignore it. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Diffstat (limited to 'test/test-device.c')
-rw-r--r--test/test-device.c22
1 files changed, 22 insertions, 0 deletions
diff --git a/test/test-device.c b/test/test-device.c
index df6bb22d..5fc79cdc 100644
--- a/test/test-device.c
+++ b/test/test-device.c
@@ -1472,6 +1472,27 @@ START_TEST(device_capability_check_invalid)
}
END_TEST
+START_TEST(device_capability_nocaps_ignored)
+{
+ struct libevdev_uinput *uinput;
+ struct libinput *li;
+ struct libinput_device *device;
+
+ /* SW_MAX isn't handled in libinput so the device is processed but
+ * ends up without seat capabilities and is ignored. */
+ uinput = litest_create_uinput_device("test device", NULL,
+ EV_SW, SW_MAX,
+ -1);
+ li = litest_create_context();
+ device = libinput_path_add_device(li,
+ libevdev_uinput_get_devnode(uinput));
+ litest_assert_ptr_null(device);
+
+ libinput_unref(li);
+ libevdev_uinput_destroy(uinput);
+}
+END_TEST
+
START_TEST(device_has_size)
{
struct litest_device *dev = litest_current_device();
@@ -1667,6 +1688,7 @@ TEST_COLLECTION(device)
litest_add("device:capability", device_capability_at_least_one, LITEST_ANY, LITEST_ANY);
litest_add("device:capability", device_capability_check_invalid, LITEST_ANY, LITEST_ANY);
+ litest_add_no_device("device:capability", device_capability_nocaps_ignored);
litest_add("device:size", device_has_size, LITEST_TOUCHPAD, LITEST_ANY);
litest_add("device:size", device_has_size, LITEST_TABLET, LITEST_ANY);