summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorHans de Goede <hdegoede@redhat.com>2014-09-17 15:35:31 +0200
committerPeter Hutterer <peter.hutterer@who-t.net>2014-09-19 15:49:06 +1000
commitfaa87649211b7ee133ded070b24fff897eb11e7f (patch)
tree6b37b609ac93301fde5056d9801068d4a8650415 /test
parentd3ad8cf888a453da68b4bf41804caefd5622528e (diff)
downloadlibinput-faa87649211b7ee133ded070b24fff897eb11e7f.tar.gz
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 <hdegoede@redhat.com> Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net> Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Diffstat (limited to 'test')
-rw-r--r--test/litest.c39
-rw-r--r--test/litest.h1
-rw-r--r--test/touchpad.c49
3 files changed, 44 insertions, 45 deletions
diff --git a/test/litest.c b/test/litest.c
index cf7e6922..e5092b8c 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 dd1386c9..fdf815f8 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 7ff3d142..522cee65 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)
litest_drain_events(li);
test_2fg_scroll(dev, 0.1, 40, 0);
- check_2fg_scroll(dev, LIBINPUT_POINTER_AXIS_SCROLL_VERTICAL, 10);
+ litest_assert_scroll(li, LIBINPUT_POINTER_AXIS_SCROLL_VERTICAL, 10);
test_2fg_scroll(dev, 0.1, -40, 0);
- check_2fg_scroll(dev, LIBINPUT_POINTER_AXIS_SCROLL_VERTICAL, -10);
+ litest_assert_scroll(li, LIBINPUT_POINTER_AXIS_SCROLL_VERTICAL, -10);
test_2fg_scroll(dev, 40, 0.1, 0);
- check_2fg_scroll(dev, LIBINPUT_POINTER_AXIS_SCROLL_HORIZONTAL, 10);
+ litest_assert_scroll(li, LIBINPUT_POINTER_AXIS_SCROLL_HORIZONTAL, 10);
test_2fg_scroll(dev, -40, 0.1, 0);
- check_2fg_scroll(dev, LIBINPUT_POINTER_AXIS_SCROLL_HORIZONTAL, -10);
+ litest_assert_scroll(li, LIBINPUT_POINTER_AXIS_SCROLL_HORIZONTAL, -10);
/* 2fg scroll smaller than the threshold should not generate events */
test_2fg_scroll(dev, 0.1, 0.1, 200);