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
> ---
> 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
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 */
> -