diff --git a/test/litest.c b/test/litest.c index d60fb413..4c301b58 100644 --- a/test/litest.c +++ b/test/litest.c @@ -2849,6 +2849,39 @@ litest_assert_only_typed_events(struct libinput *li, } } +void +litest_assert_touch_sequence(struct libinput *li) +{ + struct libinput_event *event; + + event = libinput_get_event(li); + litest_is_touch_event(event, LIBINPUT_EVENT_TOUCH_DOWN); + libinput_event_destroy(event); + + event = libinput_get_event(li); + litest_is_touch_event(event, LIBINPUT_EVENT_TOUCH_FRAME); + libinput_event_destroy(event); + + event = libinput_get_event(li); + do { + litest_is_touch_event(event, LIBINPUT_EVENT_TOUCH_MOTION); + libinput_event_destroy(event); + + event = libinput_get_event(li); + litest_is_touch_event(event, LIBINPUT_EVENT_TOUCH_FRAME); + libinput_event_destroy(event); + + event = libinput_get_event(li); + litest_assert_notnull(event); + } while (libinput_event_get_type(event) != LIBINPUT_EVENT_TOUCH_UP); + + litest_is_touch_event(event, LIBINPUT_EVENT_TOUCH_UP); + libinput_event_destroy(event); + event = libinput_get_event(li); + litest_is_touch_event(event, LIBINPUT_EVENT_TOUCH_FRAME); + libinput_event_destroy(event); +} + void litest_timeout_tap(void) { diff --git a/test/litest.h b/test/litest.h index f8e740f2..d7a7327a 100644 --- a/test/litest.h +++ b/test/litest.h @@ -536,6 +536,9 @@ litest_assert_event_type(struct libinput_event *event, void litest_assert_empty_queue(struct libinput *li); +void +litest_assert_touch_sequence(struct libinput *li); + struct libinput_event_pointer * litest_is_button_event(struct libinput_event *event, unsigned int button,