test: add litest_axis_set_value helper function

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
This commit is contained in:
Peter Hutterer 2015-12-21 10:53:29 +10:00
parent beee8403e9
commit aaac47d442
2 changed files with 43 additions and 25 deletions

View file

@ -239,6 +239,24 @@ struct axis_replacement {
double value;
};
static inline void litest_axis_set_value(struct axis_replacement *axes,
int code,
double value)
{
litest_assert_double_ge(value, 0.0);
litest_assert_double_le(value, 100.0);
while (axes->evcode != -1) {
if (axes->evcode == code) {
axes->value = value;
return;
}
axes++;
}
litest_abort_msg("Missing axis code %d\n", code);
}
/* A loop range, resolves to:
for (i = lower; i < upper; i++)
*/

View file

@ -746,9 +746,9 @@ START_TEST(proximity_has_axes)
litest_assert_empty_queue(li);
libinput_event_destroy(event);
axes[0].value = 20;
axes[1].value = 15;
axes[2].value = 25;
litest_axis_set_value(axes, ABS_DISTANCE, 20);
litest_axis_set_value(axes, ABS_TILT_X, 15);
litest_axis_set_value(axes, ABS_TILT_Y, 25);
litest_tablet_motion(dev, 20, 30, axes);
libinput_dispatch(li);
litest_wait_for_event_of_type(li, LIBINPUT_EVENT_TABLET_TOOL_AXIS, -1);
@ -2119,8 +2119,8 @@ START_TEST(tablet_pressure_distance_exclusive)
libinput_event_destroy(event);
axes[0].value = 15;
axes[1].value = 25;
litest_axis_set_value(axes, ABS_DISTANCE, 15);
litest_axis_set_value(axes, ABS_PRESSURE, 25);
litest_event(dev, EV_KEY, BTN_TOUCH, 1);
litest_tablet_motion(dev, 30, 30, axes);
libinput_dispatch(li);
@ -2333,8 +2333,8 @@ START_TEST(tablet_pressure_offset)
litest_tablet_proximity_in(dev, 5, 100, axes);
litest_drain_events(li);
axes[0].value = 0;
axes[1].value = 21;
litest_axis_set_value(axes, ABS_DISTANCE, 0);
litest_axis_set_value(axes, ABS_PRESSURE, 21);
litest_push_event_frame(dev);
litest_tablet_motion(dev, 70, 70, axes);
litest_event(dev, EV_KEY, BTN_TOUCH, 1);
@ -2342,7 +2342,7 @@ START_TEST(tablet_pressure_offset)
libinput_dispatch(li);
litest_drain_events(li);
axes[1].value = 20;
litest_axis_set_value(axes, ABS_PRESSURE, 20);
litest_tablet_motion(dev, 70, 70, axes);
libinput_dispatch(li);
@ -2355,7 +2355,7 @@ START_TEST(tablet_pressure_offset)
libinput_event_destroy(event);
litest_drain_events(li);
axes[1].value = 21;
litest_axis_set_value(axes, ABS_PRESSURE, 21);
litest_tablet_motion(dev, 70, 70, axes);
libinput_dispatch(li);
@ -2390,8 +2390,8 @@ START_TEST(tablet_pressure_offset_decrease)
litest_drain_events(li);
/* a reduced pressure value must reduce the offset */
axes[0].value = 0;
axes[1].value = 10;
litest_axis_set_value(axes, ABS_DISTANCE, 0);
litest_axis_set_value(axes, ABS_PRESSURE, 10);
litest_push_event_frame(dev);
litest_tablet_motion(dev, 70, 70, axes);
litest_event(dev, EV_KEY, BTN_TOUCH, 1);
@ -2407,7 +2407,7 @@ START_TEST(tablet_pressure_offset_decrease)
libinput_event_destroy(event);
litest_drain_events(li);
axes[1].value = 11;
litest_axis_set_value(axes, ABS_PRESSURE, 11);
litest_tablet_motion(dev, 70, 70, axes);
libinput_dispatch(li);
@ -2443,12 +2443,12 @@ START_TEST(tablet_pressure_offset_increase)
litest_drain_events(li);
/* offset 30 on second prox in - must not change the offset */
axes[1].value = 30;
litest_axis_set_value(axes, ABS_PRESSURE, 30);
litest_tablet_proximity_in(dev, 5, 100, axes);
litest_drain_events(li);
axes[0].value = 0;
axes[1].value = 31;
litest_axis_set_value(axes, ABS_DISTANCE, 0);
litest_axis_set_value(axes, ABS_PRESSURE, 31);
litest_push_event_frame(dev);
litest_tablet_motion(dev, 70, 70, axes);
litest_event(dev, EV_KEY, BTN_TOUCH, 1);
@ -2456,7 +2456,7 @@ START_TEST(tablet_pressure_offset_increase)
libinput_dispatch(li);
litest_drain_events(li);
axes[1].value = 30;
litest_axis_set_value(axes, ABS_PRESSURE, 30);
litest_tablet_motion(dev, 70, 70, axes);
libinput_dispatch(li);
@ -2471,7 +2471,7 @@ START_TEST(tablet_pressure_offset_increase)
litest_drain_events(li);
axes[1].value = 20;
litest_axis_set_value(axes, ABS_PRESSURE, 20);
litest_tablet_motion(dev, 70, 70, axes);
libinput_dispatch(li);
@ -2512,8 +2512,8 @@ START_TEST(tablet_pressure_offset_exceed_threshold)
libinput_event_destroy(event);
litest_restore_log_handler(li);
axes[0].value = 0;
axes[1].value = 31;
litest_axis_set_value(axes, ABS_DISTANCE, 0);
litest_axis_set_value(axes, ABS_PRESSURE, 31);
litest_push_event_frame(dev);
litest_tablet_motion(dev, 70, 70, axes);
litest_event(dev, EV_KEY, BTN_TOUCH, 1);
@ -2521,7 +2521,7 @@ START_TEST(tablet_pressure_offset_exceed_threshold)
libinput_dispatch(li);
litest_drain_events(li);
axes[1].value = 30;
litest_axis_set_value(axes, ABS_PRESSURE, 30);
litest_tablet_motion(dev, 70, 70, axes);
libinput_dispatch(li);
@ -2587,15 +2587,15 @@ START_TEST(tablet_pressure_offset_none_for_small_distance)
litest_drain_events(li);
libinput_dispatch(li);
axes[0].value = 0;
axes[1].value = 21;
litest_axis_set_value(axes, ABS_DISTANCE, 0);
litest_axis_set_value(axes, ABS_PRESSURE, 21);
litest_push_event_frame(dev);
litest_tablet_motion(dev, 70, 70, axes);
litest_event(dev, EV_KEY, BTN_TOUCH, 1);
litest_pop_event_frame(dev);
litest_drain_events(li);
axes[1].value = 20;
litest_axis_set_value(axes, ABS_PRESSURE, 20);
litest_tablet_motion(dev, 70, 70, axes);
libinput_dispatch(li);
@ -2708,7 +2708,7 @@ START_TEST(tilt_x)
expected_tx = -1.0;
for (tilt = 0; tilt <= 100; tilt += 5) {
axes[1].value = tilt;
litest_axis_set_value(axes, ABS_TILT_X, tilt);
litest_tablet_motion(dev, 10, 10, axes);
libinput_dispatch(li);
event = libinput_get_event(li);
@ -2771,7 +2771,7 @@ START_TEST(tilt_y)
expected_ty = -1.0;
for (tilt = 0; tilt <= 100; tilt += 5) {
axes[2].value = tilt;
litest_axis_set_value(axes, ABS_TILT_Y, tilt);
litest_tablet_motion(dev, 10, 10, axes);
libinput_dispatch(li);
event = libinput_get_event(li);