On Wed, Mar 26, 2014 at 06:02:46PM +1000, Peter Hutterer wrote:
> On Tue, Mar 25, 2014 at 09:45:55PM +0100, Jonas Ådahl wrote:
> > libinput currently handles 16 per device touch points. Test that we
> > behave as expected when a device has an even higher number of active
> > touch points.
> > 
> > Signed-off-by: Jonas Ådahl <[email protected]>
> > ---
> >  test/touch.c | 50 ++++++++++++++++++++++++++++++++++++++++++++++++++
> >  1 file changed, 50 insertions(+)
> > 
> > diff --git a/test/touch.c b/test/touch.c
> > index 9354c25..61d8762 100644
> > --- a/test/touch.c
> > +++ b/test/touch.c
> > @@ -275,6 +275,54 @@ START_TEST(touch_seat_slot_drop)
> >  }
> >  END_TEST
> >  
> > +START_TEST(touch_many_slots)
> > +{
> > +   struct libinput *libinput;
> > +   struct litest_device *dev;
> > +   struct libinput_event *ev;
> > +   int slot;
> > +   const int num_tps = 100;
> > +   int slot_count = 0;
> > +   enum libinput_event_type type;
> > +
> > +   dev = litest_current_device();
> > +   libinput = dev->libinput;
> > +
> > +   for (slot = 0; slot < num_tps; ++slot)
> > +           litest_touch_down(dev, slot, 0, 0);
> > +   for (slot = 0; slot < num_tps; ++slot)
> > +           litest_touch_up(dev, slot);
> > +
> > +   libinput_dispatch(libinput);
> > +   while ((ev = libinput_get_event(libinput))) {
> > +           type = libinput_event_get_type(ev);
> > +
> > +           if (type == LIBINPUT_EVENT_TOUCH_DOWN)
> > +                   slot_count++;
> > +           else if (type == LIBINPUT_EVENT_TOUCH_UP)
> > +                   break;
> > +
> > +           libinput_dispatch(libinput);
> > +   }
> > +
> > +   ck_assert_notnull(ev);
> > +   ck_assert_int_gt(slot_count, 0);
> > +
> > +   libinput_dispatch(libinput);
> > +   do {
> > +           type = libinput_event_get_type(ev);
> > +           ck_assert_int_ne(type, LIBINPUT_EVENT_TOUCH_DOWN);
> > +           if (type == LIBINPUT_EVENT_TOUCH_UP) {
> > +                   slot_count--;
> > +           }
> > +
> > +           libinput_dispatch(libinput);
> > +   } while ((ev = libinput_get_event(libinput)));
> > +
> > +   ck_assert_int_eq(slot_count, 0);
> > +}
> > +END_TEST
> > +
> >  int
> >  main(int argc, char **argv)
> >  {
> > @@ -283,6 +331,8 @@ main(int argc, char **argv)
> >                LITEST_TOUCH, LITEST_ANY);
> >     litest_add_no_device("touch:seat-slot", touch_seat_slots);
> >     litest_add_no_device("touch:seat-slot-drop", touch_seat_slot_drop);
> > +   litest_add("touch:many-slots", touch_many_slots,
> > +              LITEST_TOUCH, LITEST_ANY);
> 
> even though it breaks the 80 char width, I'd really prefer it if the tests
> would just be on one line, it's a lot easier to view them on screens that
> are less than 10 years old :)

I tend to use vertical split screen on a laptop and in those cases 80
char length limit makes code more readable. I guess I could change it to
ignore the 80 char limit for test case adding lines, albeit reluctantly.

Jonas

> 
> Cheers,
>    Peter
> 
> >  
> >     return litest_run(argc, argv);
> >  }
> > -- 
> > 1.8.3.2
_______________________________________________
wayland-devel mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/wayland-devel

Reply via email to