[PATCH libinput 2/3] litest: Add litest_assert_scroll() helper function
Make check_2fg_scroll functionality available outside of touchpad.c , no functional changes. Signed-off-by: Hans de Goede hdego...@redhat.com --- test/litest.c | 39 +++ test/litest.h | 1 + test/touchpad.c | 49 - 3 files changed, 44 insertions(+), 45 deletions(-) diff --git a/test/litest.c b/test/litest.c index cf7e692..e5092b8 100644 --- a/test/litest.c +++ b/test/litest.c @@ -1084,3 +1084,42 @@ litest_assert_button_event(struct libinput *li, unsigned int button, state); libinput_event_destroy(event); } + +void litest_assert_scroll(struct libinput *li, unsigned int axis, int dir) +{ + struct libinput_event *event, *next_event; + struct libinput_event_pointer *ptrev; + + event = libinput_get_event(li); + next_event = libinput_get_event(li); + ck_assert(next_event != NULL); /* At least 1 scroll + stop scroll */ + + while (event) { + ck_assert_int_eq(libinput_event_get_type(event), +LIBINPUT_EVENT_POINTER_AXIS); + ptrev = libinput_event_get_pointer_event(event); + ck_assert(ptrev != NULL); + ck_assert_int_eq(libinput_event_pointer_get_axis(ptrev), axis); + + if (next_event) { + /* Normal scroll event, check dir */ + if (dir 0) { + ck_assert_int_ge( + libinput_event_pointer_get_axis_value(ptrev), + dir); + } else { + ck_assert_int_le( + libinput_event_pointer_get_axis_value(ptrev), + dir); + } + } else { + /* Last scroll event, must be 0 */ + ck_assert_int_eq( + libinput_event_pointer_get_axis_value(ptrev), + 0); + } + libinput_event_destroy(event); + event = next_event; + next_event = libinput_get_event(li); + } +} diff --git a/test/litest.h b/test/litest.h index dd1386c..fdf815f 100644 --- a/test/litest.h +++ b/test/litest.h @@ -147,6 +147,7 @@ void litest_assert_empty_queue(struct libinput *li); void litest_assert_button_event(struct libinput *li, unsigned int button, enum libinput_button_state state); +void litest_assert_scroll(struct libinput *li, unsigned int axis, int dir); struct libevdev_uinput * litest_create_uinput_device(const char *name, struct input_id *id, diff --git a/test/touchpad.c b/test/touchpad.c index 7ff3d14..522cee6 100644 --- a/test/touchpad.c +++ b/test/touchpad.c @@ -1346,47 +1346,6 @@ test_2fg_scroll(struct litest_device *dev, double dx, double dy, int sleep) libinput_dispatch(li); } -static void -check_2fg_scroll(struct litest_device *dev, unsigned int axis, int dir) -{ - struct libinput *li = dev-libinput; - struct libinput_event *event, *next_event; - struct libinput_event_pointer *ptrev; - - event = libinput_get_event(li); - next_event = libinput_get_event(li); - ck_assert(next_event != NULL); /* At least 1 scroll + stop scroll */ - - while (event) { - ck_assert_int_eq(libinput_event_get_type(event), -LIBINPUT_EVENT_POINTER_AXIS); - ptrev = libinput_event_get_pointer_event(event); - ck_assert(ptrev != NULL); - ck_assert_int_eq(libinput_event_pointer_get_axis(ptrev), axis); - - if (next_event) { - /* Normal scroll event, check dir */ - if (dir 0) { - ck_assert_int_ge( - libinput_event_pointer_get_axis_value(ptrev), - dir); - } else { - ck_assert_int_le( - libinput_event_pointer_get_axis_value(ptrev), - dir); - } - } else { - /* Last scroll event, must be 0 */ - ck_assert_int_eq( - libinput_event_pointer_get_axis_value(ptrev), - 0); - } - libinput_event_destroy(event); - event = next_event; - next_event = libinput_get_event(li); - } -} - START_TEST(touchpad_2fg_scroll) { struct litest_device *dev = litest_current_device(); @@ -1395,13 +1354,13 @@ START_TEST(touchpad_2fg_scroll)
Re: [PATCH libinput 2/3] litest: Add litest_assert_scroll() helper function
On Wed, Sep 17, 2014 at 03:35:31PM +0200, Hans de Goede wrote: Make check_2fg_scroll functionality available outside of touchpad.c , no functional changes. Signed-off-by: Hans de Goede hdego...@redhat.com --- test/litest.c | 39 +++ test/litest.h | 1 + test/touchpad.c | 49 - 3 files changed, 44 insertions(+), 45 deletions(-) diff --git a/test/litest.c b/test/litest.c index cf7e692..e5092b8 100644 --- a/test/litest.c +++ b/test/litest.c @@ -1084,3 +1084,42 @@ litest_assert_button_event(struct libinput *li, unsigned int button, state); libinput_event_destroy(event); } + +void litest_assert_scroll(struct libinput *li, unsigned int axis, int dir) +{ + struct libinput_event *event, *next_event; + struct libinput_event_pointer *ptrev; + + event = libinput_get_event(li); + next_event = libinput_get_event(li); + ck_assert(next_event != NULL); /* At least 1 scroll + stop scroll */ ck_assert_notnull(), not that it makes much difference. + + while (event) { + ck_assert_int_eq(libinput_event_get_type(event), + LIBINPUT_EVENT_POINTER_AXIS); + ptrev = libinput_event_get_pointer_event(event); + ck_assert(ptrev != NULL); + ck_assert_int_eq(libinput_event_pointer_get_axis(ptrev), axis); + + if (next_event) { + /* Normal scroll event, check dir */ + if (dir 0) { + ck_assert_int_ge( + libinput_event_pointer_get_axis_value(ptrev), + dir); if you use a temporary var for the axis values we can skip the indentation/linewidth dance. Ok, and now that I wrote this I see that's just moving the code around. so Reviewed-by: Peter Hutterer peter.hutte...@who-t.net for this one and I'll push the updates on top of it. Cheers, Peter + } else { + ck_assert_int_le( + libinput_event_pointer_get_axis_value(ptrev), + dir); + } + } else { + /* Last scroll event, must be 0 */ + ck_assert_int_eq( + libinput_event_pointer_get_axis_value(ptrev), + 0); + } + libinput_event_destroy(event); + event = next_event; + next_event = libinput_get_event(li); + } +} diff --git a/test/litest.h b/test/litest.h index dd1386c..fdf815f 100644 --- a/test/litest.h +++ b/test/litest.h @@ -147,6 +147,7 @@ void litest_assert_empty_queue(struct libinput *li); void litest_assert_button_event(struct libinput *li, unsigned int button, enum libinput_button_state state); +void litest_assert_scroll(struct libinput *li, unsigned int axis, int dir); struct libevdev_uinput * litest_create_uinput_device(const char *name, struct input_id *id, diff --git a/test/touchpad.c b/test/touchpad.c index 7ff3d14..522cee6 100644 --- a/test/touchpad.c +++ b/test/touchpad.c @@ -1346,47 +1346,6 @@ test_2fg_scroll(struct litest_device *dev, double dx, double dy, int sleep) libinput_dispatch(li); } -static void -check_2fg_scroll(struct litest_device *dev, unsigned int axis, int dir) -{ - struct libinput *li = dev-libinput; - struct libinput_event *event, *next_event; - struct libinput_event_pointer *ptrev; - - event = libinput_get_event(li); - next_event = libinput_get_event(li); - ck_assert(next_event != NULL); /* At least 1 scroll + stop scroll */ - - while (event) { - ck_assert_int_eq(libinput_event_get_type(event), - LIBINPUT_EVENT_POINTER_AXIS); - ptrev = libinput_event_get_pointer_event(event); - ck_assert(ptrev != NULL); - ck_assert_int_eq(libinput_event_pointer_get_axis(ptrev), axis); - - if (next_event) { - /* Normal scroll event, check dir */ - if (dir 0) { - ck_assert_int_ge( - libinput_event_pointer_get_axis_value(ptrev), - dir); - } else { - ck_assert_int_le( - libinput_event_pointer_get_axis_value(ptrev), - dir); - } - } else { - /* Last scroll event, must be 0 */ - ck_assert_int_eq( -