mirror of
https://gitlab.freedesktop.org/libinput/libinput.git
synced 2026-05-07 09:38:01 +02:00
test: improve the direct tool switch test
Use better (newer) helpers and separate the pen/eraser for readability. Part-of: <https://gitlab.freedesktop.org/libinput/libinput/-/merge_requests/1186>
This commit is contained in:
parent
d74b2adde5
commit
c94276fd14
1 changed files with 26 additions and 34 deletions
|
|
@ -2962,7 +2962,7 @@ START_TEST(tool_direct_switch_skip_tool_update)
|
||||||
struct libinput *li = dev->libinput;
|
struct libinput *li = dev->libinput;
|
||||||
struct libinput_event *event;
|
struct libinput_event *event;
|
||||||
struct libinput_event_tablet_tool *tev;
|
struct libinput_event_tablet_tool *tev;
|
||||||
struct libinput_tablet_tool *tool;
|
struct libinput_tablet_tool *pen = NULL, *eraser = NULL;
|
||||||
struct axis_replacement axes[] = {
|
struct axis_replacement axes[] = {
|
||||||
{ ABS_DISTANCE, 10 },
|
{ ABS_DISTANCE, 10 },
|
||||||
{ ABS_PRESSURE, 0 },
|
{ ABS_PRESSURE, 0 },
|
||||||
|
|
@ -2978,10 +2978,10 @@ START_TEST(tool_direct_switch_skip_tool_update)
|
||||||
litest_dispatch(li);
|
litest_dispatch(li);
|
||||||
|
|
||||||
event = libinput_get_event(li);
|
event = libinput_get_event(li);
|
||||||
tev = litest_is_tablet_event(event,
|
tev = litest_is_proximity_event(event,
|
||||||
LIBINPUT_EVENT_TABLET_TOOL_PROXIMITY);
|
LIBINPUT_TABLET_TOOL_PROXIMITY_STATE_IN);
|
||||||
tool = libinput_event_tablet_tool_get_tool(tev);
|
pen = libinput_event_tablet_tool_get_tool(tev);
|
||||||
libinput_tablet_tool_ref(tool);
|
libinput_tablet_tool_ref(pen);
|
||||||
libinput_event_destroy(event);
|
libinput_event_destroy(event);
|
||||||
|
|
||||||
litest_event(dev, EV_KEY, BTN_TOOL_RUBBER, 1);
|
litest_event(dev, EV_KEY, BTN_TOOL_RUBBER, 1);
|
||||||
|
|
@ -2989,22 +2989,17 @@ START_TEST(tool_direct_switch_skip_tool_update)
|
||||||
litest_dispatch(li);
|
litest_dispatch(li);
|
||||||
|
|
||||||
event = libinput_get_event(li);
|
event = libinput_get_event(li);
|
||||||
tev = litest_is_tablet_event(event,
|
tev = litest_is_proximity_event(event,
|
||||||
LIBINPUT_EVENT_TABLET_TOOL_PROXIMITY);
|
LIBINPUT_TABLET_TOOL_PROXIMITY_STATE_OUT);
|
||||||
litest_assert_enum_eq(libinput_event_tablet_tool_get_proximity_state(tev),
|
litest_assert_ptr_eq(libinput_event_tablet_tool_get_tool(tev), pen);
|
||||||
LIBINPUT_TABLET_TOOL_PROXIMITY_STATE_OUT);
|
|
||||||
litest_assert_ptr_eq(libinput_event_tablet_tool_get_tool(tev), tool);
|
|
||||||
libinput_event_destroy(event);
|
libinput_event_destroy(event);
|
||||||
|
|
||||||
event = libinput_get_event(li);
|
event = libinput_get_event(li);
|
||||||
tev = litest_is_tablet_event(event,
|
tev = litest_is_proximity_event(event,
|
||||||
LIBINPUT_EVENT_TABLET_TOOL_PROXIMITY);
|
LIBINPUT_TABLET_TOOL_PROXIMITY_STATE_IN);
|
||||||
litest_assert_enum_eq(libinput_event_tablet_tool_get_proximity_state(tev),
|
litest_assert_ptr_ne(libinput_event_tablet_tool_get_tool(tev), pen);
|
||||||
LIBINPUT_TABLET_TOOL_PROXIMITY_STATE_IN);
|
eraser = libinput_event_tablet_tool_get_tool(tev);
|
||||||
litest_assert_ptr_ne(libinput_event_tablet_tool_get_tool(tev), tool);
|
libinput_tablet_tool_ref(eraser);
|
||||||
libinput_tablet_tool_unref(tool);
|
|
||||||
tool = libinput_event_tablet_tool_get_tool(tev);
|
|
||||||
libinput_tablet_tool_ref(tool);
|
|
||||||
libinput_event_destroy(event);
|
libinput_event_destroy(event);
|
||||||
|
|
||||||
litest_tablet_motion(dev, 20, 30, axes);
|
litest_tablet_motion(dev, 20, 30, axes);
|
||||||
|
|
@ -3014,7 +3009,7 @@ START_TEST(tool_direct_switch_skip_tool_update)
|
||||||
tev = litest_is_tablet_event(event,
|
tev = litest_is_tablet_event(event,
|
||||||
LIBINPUT_EVENT_TABLET_TOOL_AXIS);
|
LIBINPUT_EVENT_TABLET_TOOL_AXIS);
|
||||||
litest_assert_ptr_eq(libinput_event_tablet_tool_get_tool(tev),
|
litest_assert_ptr_eq(libinput_event_tablet_tool_get_tool(tev),
|
||||||
tool);
|
eraser);
|
||||||
libinput_event_destroy(event);
|
libinput_event_destroy(event);
|
||||||
|
|
||||||
litest_event(dev, EV_KEY, BTN_TOOL_RUBBER, 0);
|
litest_event(dev, EV_KEY, BTN_TOOL_RUBBER, 0);
|
||||||
|
|
@ -3022,12 +3017,10 @@ START_TEST(tool_direct_switch_skip_tool_update)
|
||||||
litest_dispatch(li);
|
litest_dispatch(li);
|
||||||
|
|
||||||
event = libinput_get_event(li);
|
event = libinput_get_event(li);
|
||||||
tev = litest_is_tablet_event(event,
|
tev = litest_is_proximity_event(event,
|
||||||
LIBINPUT_EVENT_TABLET_TOOL_PROXIMITY);
|
LIBINPUT_TABLET_TOOL_PROXIMITY_STATE_OUT);
|
||||||
litest_assert_enum_eq(libinput_event_tablet_tool_get_proximity_state(tev),
|
|
||||||
LIBINPUT_TABLET_TOOL_PROXIMITY_STATE_OUT);
|
|
||||||
litest_assert_ptr_eq(libinput_event_tablet_tool_get_tool(tev),
|
litest_assert_ptr_eq(libinput_event_tablet_tool_get_tool(tev),
|
||||||
tool);
|
eraser);
|
||||||
libinput_event_destroy(event);
|
libinput_event_destroy(event);
|
||||||
|
|
||||||
litest_push_event_frame(dev);
|
litest_push_event_frame(dev);
|
||||||
|
|
@ -3037,12 +3030,10 @@ START_TEST(tool_direct_switch_skip_tool_update)
|
||||||
litest_dispatch(li);
|
litest_dispatch(li);
|
||||||
|
|
||||||
event = libinput_get_event(li);
|
event = libinput_get_event(li);
|
||||||
tev = litest_is_tablet_event(event,
|
tev = litest_is_proximity_event(event,
|
||||||
LIBINPUT_EVENT_TABLET_TOOL_PROXIMITY);
|
LIBINPUT_TABLET_TOOL_PROXIMITY_STATE_IN);
|
||||||
litest_assert_enum_eq(libinput_event_tablet_tool_get_proximity_state(tev),
|
|
||||||
LIBINPUT_TABLET_TOOL_PROXIMITY_STATE_IN);
|
|
||||||
litest_assert_ptr_eq(libinput_event_tablet_tool_get_tool(tev),
|
litest_assert_ptr_eq(libinput_event_tablet_tool_get_tool(tev),
|
||||||
tool);
|
eraser);
|
||||||
libinput_event_destroy(event);
|
libinput_event_destroy(event);
|
||||||
|
|
||||||
litest_tablet_motion(dev, 40, 30, axes);
|
litest_tablet_motion(dev, 40, 30, axes);
|
||||||
|
|
@ -3052,7 +3043,7 @@ START_TEST(tool_direct_switch_skip_tool_update)
|
||||||
tev = litest_is_tablet_event(event,
|
tev = litest_is_tablet_event(event,
|
||||||
LIBINPUT_EVENT_TABLET_TOOL_AXIS);
|
LIBINPUT_EVENT_TABLET_TOOL_AXIS);
|
||||||
litest_assert_ptr_eq(libinput_event_tablet_tool_get_tool(tev),
|
litest_assert_ptr_eq(libinput_event_tablet_tool_get_tool(tev),
|
||||||
tool);
|
eraser);
|
||||||
libinput_event_destroy(event);
|
libinput_event_destroy(event);
|
||||||
|
|
||||||
litest_push_event_frame(dev);
|
litest_push_event_frame(dev);
|
||||||
|
|
@ -3062,17 +3053,18 @@ START_TEST(tool_direct_switch_skip_tool_update)
|
||||||
litest_timeout_tablet_proxout(li);
|
litest_timeout_tablet_proxout(li);
|
||||||
|
|
||||||
event = libinput_get_event(li);
|
event = libinput_get_event(li);
|
||||||
tev = litest_is_tablet_event(event,
|
tev = litest_is_proximity_event(event,
|
||||||
LIBINPUT_EVENT_TABLET_TOOL_PROXIMITY);
|
LIBINPUT_TABLET_TOOL_PROXIMITY_STATE_OUT);
|
||||||
litest_assert_ptr_eq(libinput_event_tablet_tool_get_tool(tev),
|
litest_assert_ptr_eq(libinput_event_tablet_tool_get_tool(tev),
|
||||||
tool);
|
eraser);
|
||||||
libinput_event_destroy(event);
|
libinput_event_destroy(event);
|
||||||
|
|
||||||
litest_event(dev, EV_KEY, BTN_TOOL_RUBBER, 0);
|
litest_event(dev, EV_KEY, BTN_TOOL_RUBBER, 0);
|
||||||
litest_event(dev, EV_SYN, SYN_REPORT, 0);
|
litest_event(dev, EV_SYN, SYN_REPORT, 0);
|
||||||
litest_assert_empty_queue(li);
|
litest_assert_empty_queue(li);
|
||||||
|
|
||||||
libinput_tablet_tool_unref(tool);
|
libinput_tablet_tool_unref(eraser);
|
||||||
|
libinput_tablet_tool_unref(pen);
|
||||||
}
|
}
|
||||||
END_TEST
|
END_TEST
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue