test: Add negative test for libinput_device_keyboard_has_key()
authorDerek Foreman <derekf@osg.samsung.com>
Fri, 24 Apr 2015 22:21:18 +0000 (17:21 -0500)
committerPeter Hutterer <peter.hutterer@who-t.net>
Sun, 26 Apr 2015 23:45:04 +0000 (09:45 +1000)
Ensure we get a -1 return for non-keyboard devices.

Signed-off-by: Derek Foreman <derekf@osg.samsung.com>
Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
test/keyboard.c

index a477cfb77991710df55629e5815b1d774f5e4d0f..508362bb2c39b777fbf7f18fd92b494f801a3bce 100644 (file)
@@ -309,6 +309,24 @@ START_TEST(keyboard_has_key)
 }
 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)
 {
@@ -316,6 +334,7 @@ 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);
 }