}
END_TEST
+START_TEST(keyboard_keys_bad_device)
+{
+ struct litest_device *dev = litest_current_device();
+ struct libinput_device *device = dev->libinput_device;
+ unsigned int code;
+ int has_key;
+
+ if (libinput_device_has_capability(device,
+ LIBINPUT_DEVICE_CAP_KEYBOARD))
+ return;
+
+ for (code = 0; code < KEY_CNT; code++) {
+ has_key = libinput_device_keyboard_has_key(device, code);
+ ck_assert_int_eq(has_key, -1);
+ }
+}
+END_TEST
+
int
main(int argc, char **argv)
{
litest_add_no_device("keyboard:key counting", keyboard_ignore_no_pressed_release);
litest_add_no_device("keyboard:key counting", keyboard_key_auto_release);
litest_add("keyboard:keys", keyboard_has_key, LITEST_KEYS, LITEST_ANY);
+ litest_add("keyboard:keys", keyboard_keys_bad_device, LITEST_ANY, LITEST_ANY);
return litest_run(argc, argv);
}