[PATCH libinput 2/3] litest: Add litest_assert_scroll() helper function

2014-09-17 Thread Hans de Goede
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

2014-09-17 Thread Peter Hutterer
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(
 -