summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorPeter Hutterer <peter.hutterer@who-t.net>2018-04-11 16:02:43 +1000
committerPeter Hutterer <peter.hutterer@who-t.net>2018-04-26 14:48:37 +1000
commitf6d61dc3147c2df297c117a23752c332abdb1288 (patch)
treeb8b44c5b434089a5d080177008b389a8a8f67271 /test
parentd8bd650540e68e8b648e76180c5eee0f19a3b893 (diff)
downloadlibinput-f6d61dc3147c2df297c117a23752c332abdb1288.tar.gz
touchpad: allow custom profiles on touchpads
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Diffstat (limited to 'test')
-rw-r--r--test/test-pointer.c52
1 files changed, 29 insertions, 23 deletions
diff --git a/test/test-pointer.c b/test/test-pointer.c
index d6ff4ffe..300c428b 100644
--- a/test/test-pointer.c
+++ b/test/test-pointer.c
@@ -1365,11 +1365,23 @@ START_TEST(pointer_accel_direction_change)
}
END_TEST
+static inline void
+verify_set_profile(struct libinput_device *device,
+ enum libinput_config_accel_profile profile)
+{
+ enum libinput_config_accel_profile p;
+ enum libinput_config_status status;
+
+ status = libinput_device_config_accel_set_profile(device, profile);
+ ck_assert_int_eq(status, LIBINPUT_CONFIG_STATUS_SUCCESS);
+ p = libinput_device_config_accel_get_profile(device);
+ ck_assert_int_eq(profile, p);
+}
+
START_TEST(pointer_accel_profile_defaults)
{
struct litest_device *dev = litest_current_device();
struct libinput_device *device = dev->libinput_device;
- enum libinput_config_status status;
enum libinput_config_accel_profile profile;
uint32_t profiles;
@@ -1384,25 +1396,18 @@ START_TEST(pointer_accel_profile_defaults)
profiles = libinput_device_config_accel_get_profiles(device);
ck_assert(profiles & LIBINPUT_CONFIG_ACCEL_PROFILE_ADAPTIVE);
ck_assert(profiles & LIBINPUT_CONFIG_ACCEL_PROFILE_FLAT);
+ ck_assert(profiles & LIBINPUT_CONFIG_ACCEL_PROFILE_DEVICE_SPEED_CURVE);
- status = libinput_device_config_accel_set_profile(device,
- LIBINPUT_CONFIG_ACCEL_PROFILE_FLAT);
- ck_assert_int_eq(status, LIBINPUT_CONFIG_STATUS_SUCCESS);
- profile = libinput_device_config_accel_get_profile(device);
- ck_assert_int_eq(profile, LIBINPUT_CONFIG_ACCEL_PROFILE_FLAT);
+ verify_set_profile(device, LIBINPUT_CONFIG_ACCEL_PROFILE_FLAT);
profile = libinput_device_config_accel_get_default_profile(device);
ck_assert_int_eq(profile, LIBINPUT_CONFIG_ACCEL_PROFILE_ADAPTIVE);
- status = libinput_device_config_accel_set_profile(device,
- LIBINPUT_CONFIG_ACCEL_PROFILE_ADAPTIVE);
- ck_assert_int_eq(status, LIBINPUT_CONFIG_STATUS_SUCCESS);
- profile = libinput_device_config_accel_get_profile(device);
- ck_assert_int_eq(profile, LIBINPUT_CONFIG_ACCEL_PROFILE_ADAPTIVE);
+ verify_set_profile(device, LIBINPUT_CONFIG_ACCEL_PROFILE_ADAPTIVE);
}
END_TEST
-START_TEST(pointer_accel_profile_defaults_noprofile)
+START_TEST(pointer_accel_profile_defaults_touchpad)
{
struct litest_device *dev = litest_current_device();
struct libinput_device *device = dev->libinput_device;
@@ -1413,25 +1418,26 @@ START_TEST(pointer_accel_profile_defaults_noprofile)
ck_assert(libinput_device_config_accel_is_available(device));
profile = libinput_device_config_accel_get_default_profile(device);
- ck_assert_int_eq(profile, LIBINPUT_CONFIG_ACCEL_PROFILE_NONE);
+ ck_assert_int_eq(profile, LIBINPUT_CONFIG_ACCEL_PROFILE_ADAPTIVE);
profile = libinput_device_config_accel_get_profile(device);
- ck_assert_int_eq(profile, LIBINPUT_CONFIG_ACCEL_PROFILE_NONE);
+ ck_assert_int_eq(profile, LIBINPUT_CONFIG_ACCEL_PROFILE_ADAPTIVE);
profiles = libinput_device_config_accel_get_profiles(device);
- ck_assert_int_eq(profiles, LIBINPUT_CONFIG_ACCEL_PROFILE_NONE);
+ ck_assert(profiles & LIBINPUT_CONFIG_ACCEL_PROFILE_ADAPTIVE);
+ ck_assert(profiles & LIBINPUT_CONFIG_ACCEL_PROFILE_DEVICE_SPEED_CURVE);
- status = libinput_device_config_accel_set_profile(device,
- LIBINPUT_CONFIG_ACCEL_PROFILE_FLAT);
- ck_assert_int_eq(status, LIBINPUT_CONFIG_STATUS_UNSUPPORTED);
- profile = libinput_device_config_accel_get_profile(device);
- ck_assert_int_eq(profile, LIBINPUT_CONFIG_ACCEL_PROFILE_NONE);
+ verify_set_profile(device, LIBINPUT_CONFIG_ACCEL_PROFILE_ADAPTIVE);
+ verify_set_profile(device, LIBINPUT_CONFIG_ACCEL_PROFILE_DEVICE_SPEED_CURVE);
+ profile = libinput_device_config_accel_get_default_profile(device);
+ ck_assert_int_eq(profile, LIBINPUT_CONFIG_ACCEL_PROFILE_ADAPTIVE);
+ verify_set_profile(device, LIBINPUT_CONFIG_ACCEL_PROFILE_ADAPTIVE);
status = libinput_device_config_accel_set_profile(device,
- LIBINPUT_CONFIG_ACCEL_PROFILE_ADAPTIVE);
+ LIBINPUT_CONFIG_ACCEL_PROFILE_FLAT);
ck_assert_int_eq(status, LIBINPUT_CONFIG_STATUS_UNSUPPORTED);
profile = libinput_device_config_accel_get_profile(device);
- ck_assert_int_eq(profile, LIBINPUT_CONFIG_ACCEL_PROFILE_NONE);
+ ck_assert_int_eq(profile, LIBINPUT_CONFIG_ACCEL_PROFILE_ADAPTIVE);
}
END_TEST
@@ -2577,7 +2583,7 @@ TEST_COLLECTION(pointer)
litest_add("pointer:accel", pointer_accel_defaults_absolute_relative, LITEST_ABSOLUTE|LITEST_RELATIVE, LITEST_ANY);
litest_add("pointer:accel", pointer_accel_direction_change, LITEST_RELATIVE, LITEST_POINTINGSTICK);
litest_add("pointer:accel", pointer_accel_profile_defaults, LITEST_RELATIVE, LITEST_TOUCHPAD);
- litest_add("pointer:accel", pointer_accel_profile_defaults_noprofile, LITEST_TOUCHPAD, LITEST_ANY);
+ litest_add("pointer:accel", pointer_accel_profile_defaults_touchpad, LITEST_TOUCHPAD, LITEST_ANY);
litest_add("pointer:accel", pointer_accel_profile_invalid, LITEST_RELATIVE, LITEST_ANY);
litest_add("pointer:accel", pointer_accel_profile_noaccel, LITEST_ANY, LITEST_TOUCHPAD|LITEST_RELATIVE|LITEST_TABLET);
litest_add("pointer:accel", pointer_accel_profile_flat_motion_relative, LITEST_RELATIVE, LITEST_TOUCHPAD);