test: add litest_is_axis_event() helper
authorPeter Hutterer <peter.hutterer@who-t.net>
Mon, 4 May 2015 03:11:21 +0000 (13:11 +1000)
committerPeter Hutterer <peter.hutterer@who-t.net>
Thu, 7 May 2015 04:40:59 +0000 (14:40 +1000)
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Hans de Goede <hdegoede@redhat.com>
test/litest.c
test/litest.h
test/pointer.c

index e39af5f..a374608 100644 (file)
@@ -1474,6 +1474,26 @@ litest_is_button_event(struct libinput_event *event,
        return ptrev;
 }
 
+struct libinput_event_pointer *
+litest_is_axis_event(struct libinput_event *event,
+                    enum libinput_pointer_axis axis,
+                    enum libinput_pointer_axis_source source)
+{
+       struct libinput_event_pointer *ptrev;
+       enum libinput_event_type type = LIBINPUT_EVENT_POINTER_AXIS;
+
+       ck_assert(event != NULL);
+       ck_assert_int_eq(libinput_event_get_type(event), type);
+       ptrev = libinput_event_get_pointer_event(event);
+       ck_assert(libinput_event_pointer_has_axis(ptrev, axis));
+
+       if (source != 0)
+               ck_assert_int_eq(libinput_event_pointer_get_axis_source(ptrev),
+                                source);
+
+       return ptrev;
+}
+
 void
 litest_assert_button_event(struct libinput *li, unsigned int button,
                           enum libinput_button_state state)
@@ -1501,10 +1521,7 @@ litest_assert_scroll(struct libinput *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);
+               ptrev = litest_is_axis_event(event, axis, 0);
 
                if (next_event) {
                        /* Normal scroll event, check dir */
index 83859c2..fa910ed 100644 (file)
@@ -200,6 +200,10 @@ struct libinput_event_pointer * litest_is_button_event(
                       struct libinput_event *event,
                       unsigned int button,
                       enum libinput_button_state state);
+struct libinput_event_pointer * litest_is_axis_event(
+                      struct libinput_event *event,
+                      enum libinput_pointer_axis axis,
+                      enum libinput_pointer_axis_source source);
 void litest_assert_button_event(struct libinput *li,
                                unsigned int button,
                                enum libinput_button_state state);
index a0f862b..7784941 100644 (file)
@@ -383,22 +383,16 @@ test_wheel_event(struct litest_device *dev, int which, int amount)
 
        libinput_dispatch(li);
 
-       event = libinput_get_event(li);
-       ck_assert(event != NULL);
-       ck_assert_int_eq(libinput_event_get_type(event),
-                         LIBINPUT_EVENT_POINTER_AXIS);
-
-       ptrev = libinput_event_get_pointer_event(event);
-       ck_assert(ptrev != NULL);
-
        axis = (which == REL_WHEEL) ?
                                LIBINPUT_POINTER_AXIS_SCROLL_VERTICAL :
                                LIBINPUT_POINTER_AXIS_SCROLL_HORIZONTAL;
+       event = libinput_get_event(li);
+       ptrev = litest_is_axis_event(event,
+                                    axis,
+                                    LIBINPUT_POINTER_AXIS_SOURCE_WHEEL);
 
        ck_assert_int_eq(libinput_event_pointer_get_axis_value(ptrev, axis),
                         expected);
-       ck_assert_int_eq(libinput_event_pointer_get_axis_source(ptrev),
-                        LIBINPUT_POINTER_AXIS_SOURCE_WHEEL);
        ck_assert_int_eq(libinput_event_pointer_get_axis_value_discrete(ptrev, axis),
                         discrete);
        libinput_event_destroy(event);