mirror of
https://gitlab.freedesktop.org/libinput/libinput.git
synced 2026-02-09 01:20:25 +01:00
test: add a test for tablet pad event timestamps
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
This commit is contained in:
parent
dbeaa06712
commit
a7f4939f91
1 changed files with 68 additions and 0 deletions
|
|
@ -53,6 +53,72 @@ START_TEST(pad_no_cap)
|
|||
}
|
||||
END_TEST
|
||||
|
||||
START_TEST(pad_time)
|
||||
{
|
||||
struct litest_device *dev = litest_current_device();
|
||||
struct libinput *li = dev->libinput;
|
||||
struct libinput_event *ev;
|
||||
struct libinput_event_tablet_pad *pev;
|
||||
unsigned int code;
|
||||
uint64_t time, time_usec, oldtime;
|
||||
|
||||
litest_drain_events(li);
|
||||
|
||||
for (code = BTN_0; code < KEY_MAX; code++) {
|
||||
if (!libevdev_has_event_code(dev->evdev, EV_KEY, code))
|
||||
continue;
|
||||
|
||||
litest_button_click(dev, code, 1);
|
||||
litest_button_click(dev, code, 0);
|
||||
libinput_dispatch(li);
|
||||
|
||||
switch (code) {
|
||||
case BTN_STYLUS:
|
||||
litest_assert_empty_queue(li);
|
||||
continue;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
break;
|
||||
}
|
||||
|
||||
ev = libinput_get_event(li);
|
||||
pev = litest_is_pad_button_event(ev,
|
||||
0,
|
||||
LIBINPUT_BUTTON_STATE_PRESSED);
|
||||
time = libinput_event_tablet_pad_get_time(pev);
|
||||
time_usec = libinput_event_tablet_pad_get_time_usec(pev);
|
||||
|
||||
ck_assert(time != 0);
|
||||
ck_assert(time == time_usec/1000);
|
||||
|
||||
libinput_event_destroy(ev);
|
||||
|
||||
litest_drain_events(li);
|
||||
msleep(10);
|
||||
|
||||
litest_button_click(dev, code, 1);
|
||||
litest_button_click(dev, code, 0);
|
||||
libinput_dispatch(li);
|
||||
|
||||
ev = libinput_get_event(li);
|
||||
pev = litest_is_pad_button_event(ev,
|
||||
0,
|
||||
LIBINPUT_BUTTON_STATE_PRESSED);
|
||||
|
||||
oldtime = time;
|
||||
time = libinput_event_tablet_pad_get_time(pev);
|
||||
time_usec = libinput_event_tablet_pad_get_time_usec(pev);
|
||||
|
||||
ck_assert(time > oldtime);
|
||||
ck_assert(time != 0);
|
||||
ck_assert(time == time_usec/1000);
|
||||
|
||||
libinput_event_destroy(ev);
|
||||
}
|
||||
END_TEST
|
||||
|
||||
START_TEST(pad_num_buttons)
|
||||
{
|
||||
struct litest_device *dev = litest_current_device();
|
||||
|
|
@ -637,6 +703,8 @@ litest_setup_tests_pad(void)
|
|||
litest_add("pad:cap", pad_cap, LITEST_TABLET_PAD, LITEST_ANY);
|
||||
litest_add("pad:cap", pad_no_cap, LITEST_ANY, LITEST_TABLET_PAD);
|
||||
|
||||
litest_add("pad:time", pad_time, LITEST_TABLET_PAD, LITEST_ANY);
|
||||
|
||||
litest_add("pad:button", pad_num_buttons, LITEST_TABLET_PAD, LITEST_ANY);
|
||||
litest_add("pad:button", pad_button, LITEST_TABLET_PAD, LITEST_ANY);
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue