47
45
EXPECT_EQ(mir_event_type_input, mir_event_get_type(e));
48
46
auto ie = mir_event_get_input_event(e);
49
47
EXPECT_EQ(mir_input_event_type_key, mir_input_event_get_type(ie));
50
auto kev = mir_input_event_get_key_input_event(ie);
51
EXPECT_EQ(action, mir_key_input_event_get_action(kev));
52
EXPECT_EQ(key_code, mir_key_input_event_get_key_code(kev));
53
EXPECT_EQ(scan_code, mir_key_input_event_get_scan_code(kev));
54
EXPECT_EQ(modifiers, mir_key_input_event_get_modifiers(kev));
48
auto kev = mir_input_event_get_keyboard_event(ie);
49
EXPECT_EQ(action, mir_keyboard_event_action(kev));
50
EXPECT_EQ(key_code, mir_keyboard_event_key_code(kev));
51
EXPECT_EQ(scan_code, mir_keyboard_event_scan_code(kev));
52
EXPECT_EQ(modifiers, mir_keyboard_event_modifiers(kev));
58
56
TEST_F(InputEventBuilder, makes_valid_touch_event)
60
58
unsigned touch_count = 3;
61
MirTouchInputEventTouchId touch_ids[] = {7, 9, 4};
62
MirTouchInputEventTouchAction actions[] = { mir_touch_input_event_action_up, mir_touch_input_event_action_change, mir_touch_input_event_action_change};
63
MirTouchInputEventTouchTooltype tooltypes[] = {mir_touch_input_tool_type_unknown, mir_touch_input_tool_type_finger, mir_touch_input_tool_type_stylus};
59
MirTouchId touch_ids[] = {7, 9, 4};
60
MirTouchAction actions[] = { mir_touch_action_up, mir_touch_action_change, mir_touch_action_change};
61
MirTouchTooltype tooltypes[] = {mir_touch_tooltype_unknown, mir_touch_tooltype_finger, mir_touch_tooltype_stylus};
64
62
float x_axis_values[] = { 7, 14.3, 19.6 };
65
63
float y_axis_values[] = { 3, 9, 11 };
66
64
float pressure_values[] = {3, 9, 14.6};
80
78
EXPECT_EQ(mir_event_type_input, mir_event_get_type(e));
81
79
auto ie = mir_event_get_input_event(e);
82
80
EXPECT_EQ(mir_input_event_type_touch, mir_input_event_get_type(ie));
83
auto tev = mir_input_event_get_touch_input_event(ie);
84
EXPECT_EQ(modifiers, mir_touch_input_event_get_modifiers(tev));
85
EXPECT_EQ(touch_count, mir_touch_input_event_get_touch_count(tev));
81
auto tev = mir_input_event_get_touch_event(ie);
82
EXPECT_EQ(modifiers, mir_touch_event_modifiers(tev));
83
EXPECT_EQ(touch_count, mir_touch_event_point_count(tev));
87
85
for (unsigned i = 0; i < touch_count; i++)
89
EXPECT_EQ(touch_ids[i], mir_touch_input_event_get_touch_id(tev, i));
90
EXPECT_EQ(actions[i], mir_touch_input_event_get_touch_action(tev, i));
91
EXPECT_EQ(tooltypes[i], mir_touch_input_event_get_touch_tooltype(tev, i));
92
EXPECT_EQ(x_axis_values[i], mir_touch_input_event_get_touch_axis_value(tev, i, mir_touch_input_axis_x));
93
EXPECT_EQ(y_axis_values[i], mir_touch_input_event_get_touch_axis_value(tev, i, mir_touch_input_axis_y));
94
EXPECT_EQ(pressure_values[i], mir_touch_input_event_get_touch_axis_value(tev, i, mir_touch_input_axis_pressure));
95
EXPECT_EQ(touch_major_values[i], mir_touch_input_event_get_touch_axis_value(tev, i, mir_touch_input_axis_touch_major));
96
EXPECT_EQ(touch_minor_values[i], mir_touch_input_event_get_touch_axis_value(tev, i, mir_touch_input_axis_touch_minor));
97
EXPECT_EQ(size_values[i], mir_touch_input_event_get_touch_axis_value(tev, i, mir_touch_input_axis_size));
87
EXPECT_EQ(touch_ids[i], mir_touch_event_id(tev, i));
88
EXPECT_EQ(actions[i], mir_touch_event_action(tev, i));
89
EXPECT_EQ(tooltypes[i], mir_touch_event_tooltype(tev, i));
90
EXPECT_EQ(x_axis_values[i], mir_touch_event_axis_value(tev, i, mir_touch_axis_x));
91
EXPECT_EQ(y_axis_values[i], mir_touch_event_axis_value(tev, i, mir_touch_axis_y));
92
EXPECT_EQ(pressure_values[i], mir_touch_event_axis_value(tev, i, mir_touch_axis_pressure));
93
EXPECT_EQ(touch_major_values[i], mir_touch_event_axis_value(tev, i, mir_touch_axis_touch_major));
94
EXPECT_EQ(touch_minor_values[i], mir_touch_event_axis_value(tev, i, mir_touch_axis_touch_minor));
95
EXPECT_EQ(size_values[i], mir_touch_event_axis_value(tev, i, mir_touch_axis_size));
101
99
TEST_F(InputEventBuilder, makes_valid_pointer_event)
103
MirPointerInputEventAction action = mir_pointer_input_event_action_enter;
104
std::vector<MirPointerInputEventButton> depressed_buttons =
105
{mir_pointer_input_button_back, mir_pointer_input_button_tertiary};
101
MirPointerAction action = mir_pointer_action_enter;
102
std::vector<MirPointerButton> depressed_buttons =
103
{mir_pointer_button_back, mir_pointer_button_tertiary};
106
104
float x_axis_value = 3.9, y_axis_value = 7.4, hscroll_value = .9, vscroll_value = .3;
107
105
auto ev = mev::make_event(device_id, timestamp, modifiers,
108
106
action, depressed_buttons, x_axis_value, y_axis_value, hscroll_value, vscroll_value);
111
109
EXPECT_EQ(mir_event_type_input, mir_event_get_type(e));
112
110
auto ie = mir_event_get_input_event(e);
113
111
EXPECT_EQ(mir_input_event_type_pointer, mir_input_event_get_type(ie));
114
auto pev = mir_input_event_get_pointer_input_event(ie);
115
EXPECT_EQ(modifiers, mir_pointer_input_event_get_modifiers(pev));
116
EXPECT_EQ(action, mir_pointer_input_event_get_action(pev));
117
EXPECT_TRUE(mir_pointer_input_event_get_button_state(pev, mir_pointer_input_button_back));
118
EXPECT_TRUE(mir_pointer_input_event_get_button_state(pev, mir_pointer_input_button_tertiary));
119
EXPECT_FALSE(mir_pointer_input_event_get_button_state(pev, mir_pointer_input_button_primary));
120
EXPECT_FALSE(mir_pointer_input_event_get_button_state(pev, mir_pointer_input_button_secondary));
121
EXPECT_FALSE(mir_pointer_input_event_get_button_state(pev, mir_pointer_input_button_forward));
122
EXPECT_EQ(x_axis_value, mir_pointer_input_event_get_axis_value(pev, mir_pointer_input_axis_x));
123
EXPECT_EQ(y_axis_value, mir_pointer_input_event_get_axis_value(pev, mir_pointer_input_axis_y));
124
EXPECT_EQ(hscroll_value, mir_pointer_input_event_get_axis_value(pev, mir_pointer_input_axis_hscroll));
125
EXPECT_EQ(vscroll_value, mir_pointer_input_event_get_axis_value(pev, mir_pointer_input_axis_vscroll));
112
auto pev = mir_input_event_get_pointer_event(ie);
113
EXPECT_EQ(modifiers, mir_pointer_event_modifiers(pev));
114
EXPECT_EQ(action, mir_pointer_event_action(pev));
115
EXPECT_TRUE(mir_pointer_event_button_state(pev, mir_pointer_button_back));
116
EXPECT_TRUE(mir_pointer_event_button_state(pev, mir_pointer_button_tertiary));
117
EXPECT_FALSE(mir_pointer_event_button_state(pev, mir_pointer_button_primary));
118
EXPECT_FALSE(mir_pointer_event_button_state(pev, mir_pointer_button_secondary));
119
EXPECT_FALSE(mir_pointer_event_button_state(pev, mir_pointer_button_forward));
120
EXPECT_EQ(x_axis_value, mir_pointer_event_axis_value(pev, mir_pointer_axis_x));
121
EXPECT_EQ(y_axis_value, mir_pointer_event_axis_value(pev, mir_pointer_axis_y));
122
EXPECT_EQ(hscroll_value, mir_pointer_event_axis_value(pev, mir_pointer_axis_hscroll));
123
EXPECT_EQ(vscroll_value, mir_pointer_event_axis_value(pev, mir_pointer_axis_vscroll));