The button-scroll by default behavior is only true on devices with a middle
button.

Signed-off-by: Peter Hutterer <peter.hutte...@who-t.net>
---
 test/test-pointer.c | 23 ++++++++++++++++-------
 1 file changed, 16 insertions(+), 7 deletions(-)

diff --git a/test/test-pointer.c b/test/test-pointer.c
index d4d2607..27978a9 100644
--- a/test/test-pointer.c
+++ b/test/test-pointer.c
@@ -1136,19 +1136,28 @@ START_TEST(pointer_scroll_nowheel_defaults)
 {
        struct litest_device *dev = litest_current_device();
        struct libinput_device *device = dev->libinput_device;
-       enum libinput_config_scroll_method method;
+       enum libinput_config_scroll_method method, expected;
        uint32_t button;
 
+       /* button scrolling is only enabled if there is a
+          middle button present */
+       if (libinput_device_pointer_has_button(device, BTN_MIDDLE))
+               expected = LIBINPUT_CONFIG_SCROLL_ON_BUTTON_DOWN;
+       else
+               expected = LIBINPUT_CONFIG_SCROLL_NO_SCROLL;
+
        method = libinput_device_config_scroll_get_method(device);
-       ck_assert_int_eq(method, LIBINPUT_CONFIG_SCROLL_ON_BUTTON_DOWN);
+       ck_assert_int_eq(method, expected);
 
        method = libinput_device_config_scroll_get_default_method(device);
-       ck_assert_int_eq(method, LIBINPUT_CONFIG_SCROLL_ON_BUTTON_DOWN);
+       ck_assert_int_eq(method, expected);
 
-       button = libinput_device_config_scroll_get_button(device);
-       ck_assert_int_eq(button, BTN_MIDDLE);
-       button = libinput_device_config_scroll_get_default_button(device);
-       ck_assert_int_eq(button, BTN_MIDDLE);
+       if (method == LIBINPUT_CONFIG_SCROLL_ON_BUTTON_DOWN) {
+               button = libinput_device_config_scroll_get_button(device);
+               ck_assert_int_eq(button, BTN_MIDDLE);
+               button = 
libinput_device_config_scroll_get_default_button(device);
+               ck_assert_int_eq(button, BTN_MIDDLE);
+       }
 }
 END_TEST
 
-- 
2.9.3

_______________________________________________
wayland-devel mailing list
wayland-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/wayland-devel

Reply via email to