test: add a scroll test

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
This commit is contained in:
Peter Hutterer 2021-08-23 14:29:31 +10:00
parent 55594cd09c
commit 781f4dc1f8

View file

@ -473,6 +473,40 @@ MUNIT_TEST(test_ei_device_pointer_abs)
return MUNIT_OK;
}
MUNIT_TEST(test_ei_device_pointer_scroll)
{
_unref_(peck) *peck = peck_new();
peck_enable_eis_behavior(peck, PECK_EIS_BEHAVIOR_ACCEPT_ALL);
peck_enable_eis_behavior(peck, PECK_EIS_BEHAVIOR_ADD_POINTER);
peck_enable_ei_behavior(peck, PECK_EI_BEHAVIOR_AUTODEVICES);
peck_dispatch_until_stable(peck);
with_client(peck) {
struct ei_device *device = peck_ei_get_default_pointer(peck);
ei_device_pointer_scroll(device, 1.1, 2.2);
ei_device_frame(device);
ei_device_pointer_scroll_discrete(device, 3, 4);
ei_device_frame(device);
}
peck_dispatch_until_stable(peck);
with_server(peck) {
_unref_(eis_event) *first =
peck_eis_next_event(eis, EIS_EVENT_POINTER_SCROLL);
munit_assert_double_equal(eis_event_pointer_get_scroll_x(first), 1.1, 2 /* precision */);
munit_assert_double_equal(eis_event_pointer_get_scroll_y(first), 2.2, 2 /* precision */);
_unref_(eis_event) *second =
peck_eis_next_event(eis, EIS_EVENT_POINTER_SCROLL_DISCRETE);
munit_assert_int(eis_event_pointer_get_scroll_discrete_x(second), ==, 3);
munit_assert_int(eis_event_pointer_get_scroll_discrete_y(second), ==, 4);
}
return MUNIT_OK;
}
MUNIT_TEST(test_ei_device_touch)
{
_unref_(peck) *peck = peck_new();