From cbfbede7484b6652f29663817e6da0377aa3ffb8 Mon Sep 17 00:00:00 2001 From: Peter Hutterer Date: Mon, 4 May 2015 13:51:39 +1000 Subject: [PATCH] test: add litest_is_touch_event() helper function Signed-off-by: Peter Hutterer Reviewed-by: Hans de Goede --- test/litest.c | 27 +++++++++++++++++++++++++++ test/litest.h | 3 +++ test/touch.c | 14 ++++---------- 3 files changed, 34 insertions(+), 10 deletions(-) diff --git a/test/litest.c b/test/litest.c index ca996e4a..6506af08 100644 --- a/test/litest.c +++ b/test/litest.c @@ -1531,6 +1531,33 @@ litest_assert_button_event(struct libinput *li, unsigned int button, libinput_event_destroy(event); } +struct libinput_event_touch * +litest_is_touch_event(struct libinput_event *event, + enum libinput_event_type type) +{ + struct libinput_event_touch *touch; + + ck_assert(event != NULL); + + if (type == 0) + type = libinput_event_get_type(event); + + switch (type) { + case LIBINPUT_EVENT_TOUCH_DOWN: + case LIBINPUT_EVENT_TOUCH_UP: + case LIBINPUT_EVENT_TOUCH_MOTION: + case LIBINPUT_EVENT_TOUCH_FRAME: + ck_assert_int_eq(libinput_event_get_type(event), type); + break; + default: + ck_abort_msg("%s: invalid touch type %d\n", __func__, type); + } + + touch = libinput_event_get_touch_event(event); + + return touch; +} + void litest_assert_scroll(struct libinput *li, enum libinput_pointer_axis axis, diff --git a/test/litest.h b/test/litest.h index fa974958..ebe2bea3 100644 --- a/test/litest.h +++ b/test/litest.h @@ -206,6 +206,9 @@ struct libinput_event_pointer * litest_is_axis_event( enum libinput_pointer_axis_source source); struct libinput_event_pointer * litest_is_motion_event( struct libinput_event *event); +struct libinput_event_touch * litest_is_touch_event( + struct libinput_event *event, + enum libinput_event_type type); void litest_assert_button_event(struct libinput *li, unsigned int button, enum libinput_button_state state); diff --git a/test/touch.c b/test/touch.c index a5eb553d..d78deedd 100644 --- a/test/touch.c +++ b/test/touch.c @@ -244,9 +244,7 @@ START_TEST(touch_calibration_scale) litest_wait_for_event(li); ev = libinput_get_event(li); - ck_assert_int_eq(libinput_event_get_type(ev), - LIBINPUT_EVENT_TOUCH_DOWN); - tev = libinput_event_get_touch_event(ev); + tev = litest_is_touch_event(ev, LIBINPUT_EVENT_TOUCH_DOWN); x = libinput_event_touch_get_x_transformed(tev, width); y = libinput_event_touch_get_y_transformed(tev, height); @@ -315,9 +313,7 @@ START_TEST(touch_calibration_rotation) litest_touch_up(dev, 0); litest_wait_for_event(li); ev = libinput_get_event(li); - ck_assert_int_eq(libinput_event_get_type(ev), - LIBINPUT_EVENT_TOUCH_DOWN); - tev = libinput_event_get_touch_event(ev); + tev = litest_is_touch_event(ev, LIBINPUT_EVENT_TOUCH_DOWN); x = libinput_event_touch_get_x_transformed(tev, width); y = libinput_event_touch_get_y_transformed(tev, height); @@ -381,9 +377,7 @@ START_TEST(touch_calibration_translation) litest_wait_for_event(li); ev = libinput_get_event(li); - ck_assert_int_eq(libinput_event_get_type(ev), - LIBINPUT_EVENT_TOUCH_DOWN); - tev = libinput_event_get_touch_event(ev); + tev = litest_is_touch_event(ev, LIBINPUT_EVENT_TOUCH_DOWN); x = libinput_event_touch_get_x_transformed(tev, width); y = libinput_event_touch_get_y_transformed(tev, height); @@ -499,7 +493,7 @@ START_TEST(touch_protocol_a_touch) litest_wait_for_event_of_type(li, LIBINPUT_EVENT_TOUCH_DOWN, -1); ev = libinput_get_event(li); - tev = libinput_event_get_touch_event(ev); + tev = litest_is_touch_event(ev, LIBINPUT_EVENT_TOUCH_DOWN); oldx = libinput_event_touch_get_x(tev); oldy = libinput_event_touch_get_y(tev);