OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include <android/input.h> | 5 #include <android/input.h> |
6 #include <stddef.h> | 6 #include <stddef.h> |
7 | 7 |
8 #include "base/android/jni_android.h" | 8 #include "base/android/jni_android.h" |
9 #include "testing/gtest/include/gtest/gtest.h" | 9 #include "testing/gtest/include/gtest/gtest.h" |
10 #include "ui/events/android/motion_event_android.h" | 10 #include "ui/events/android/motion_event_android.h" |
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
52 nullptr, | 52 nullptr, |
53 event_time_ms, | 53 event_time_ms, |
54 kAndroidActionDown, | 54 kAndroidActionDown, |
55 pointer_count, | 55 pointer_count, |
56 history_size, | 56 history_size, |
57 action_index, | 57 action_index, |
58 kAndroidButtonPrimary, | 58 kAndroidButtonPrimary, |
59 kAndroidAltKeyDown, | 59 kAndroidAltKeyDown, |
60 raw_offset, | 60 raw_offset, |
61 -raw_offset, | 61 -raw_offset, |
62 p0, | 62 &p0, |
63 p1); | 63 &p1); |
64 | 64 |
65 EXPECT_EQ(MotionEvent::ACTION_DOWN, event.GetAction()); | 65 EXPECT_EQ(MotionEvent::ACTION_DOWN, event.GetAction()); |
66 EXPECT_EQ(event_time, event.GetEventTime()); | 66 EXPECT_EQ(event_time, event.GetEventTime()); |
67 EXPECT_EQ(p0.pos_x_pixels * kPixToDip, event.GetX(0)); | 67 EXPECT_EQ(p0.pos_x_pixels * kPixToDip, event.GetX(0)); |
68 EXPECT_EQ(p0.pos_y_pixels * kPixToDip, event.GetY(0)); | 68 EXPECT_EQ(p0.pos_y_pixels * kPixToDip, event.GetY(0)); |
69 EXPECT_EQ(p1.pos_x_pixels * kPixToDip, event.GetX(1)); | 69 EXPECT_EQ(p1.pos_x_pixels * kPixToDip, event.GetX(1)); |
70 EXPECT_EQ(p1.pos_y_pixels * kPixToDip, event.GetY(1)); | 70 EXPECT_EQ(p1.pos_y_pixels * kPixToDip, event.GetY(1)); |
71 EXPECT_FLOAT_EQ((p0.pos_x_pixels + raw_offset) * kPixToDip, event.GetRawX(0)); | 71 EXPECT_FLOAT_EQ((p0.pos_x_pixels + raw_offset) * kPixToDip, event.GetRawX(0)); |
72 EXPECT_FLOAT_EQ((p0.pos_y_pixels - raw_offset) * kPixToDip, event.GetRawY(0)); | 72 EXPECT_FLOAT_EQ((p0.pos_y_pixels - raw_offset) * kPixToDip, event.GetRawY(0)); |
73 EXPECT_FLOAT_EQ((p1.pos_x_pixels + raw_offset) * kPixToDip, event.GetRawX(1)); | 73 EXPECT_FLOAT_EQ((p1.pos_x_pixels + raw_offset) * kPixToDip, event.GetRawX(1)); |
74 EXPECT_FLOAT_EQ((p1.pos_y_pixels - raw_offset) * kPixToDip, event.GetRawY(1)); | 74 EXPECT_FLOAT_EQ((p1.pos_y_pixels - raw_offset) * kPixToDip, event.GetRawY(1)); |
75 EXPECT_EQ(p0.touch_major_pixels * kPixToDip, event.GetTouchMajor(0)); | 75 EXPECT_EQ(p0.touch_major_pixels * kPixToDip, event.GetTouchMajor(0)); |
76 EXPECT_EQ(p1.touch_major_pixels * kPixToDip, event.GetTouchMajor(1)); | 76 EXPECT_EQ(p1.touch_major_pixels * kPixToDip, event.GetTouchMajor(1)); |
77 EXPECT_EQ(p0.touch_minor_pixels * kPixToDip, event.GetTouchMinor(0)); | 77 EXPECT_EQ(p0.touch_minor_pixels * kPixToDip, event.GetTouchMinor(0)); |
78 EXPECT_EQ(p1.touch_minor_pixels * kPixToDip, event.GetTouchMinor(1)); | 78 EXPECT_EQ(p1.touch_minor_pixels * kPixToDip, event.GetTouchMinor(1)); |
79 EXPECT_EQ(p0.orientation_rad, event.GetOrientation(0)); | 79 EXPECT_EQ(p0.orientation_rad, event.GetOrientation(0)); |
80 EXPECT_EQ(p1.orientation_rad, event.GetOrientation(1)); | 80 EXPECT_EQ(p1.orientation_rad, event.GetOrientation(1)); |
81 EXPECT_EQ(p0.tilt_rad, event.GetTilt(0)); | 81 EXPECT_EQ(p0.tilt_rad, event.GetTilt(0)); |
82 EXPECT_EQ(p1.tilt_rad, event.GetTilt(1)); | 82 EXPECT_EQ(p1.tilt_rad, event.GetTilt(1)); |
83 EXPECT_EQ(p0.id, event.GetPointerId(0)); | 83 EXPECT_EQ(p0.id, event.GetPointerId(0)); |
84 EXPECT_EQ(p1.id, event.GetPointerId(1)); | 84 EXPECT_EQ(p1.id, event.GetPointerId(1)); |
85 EXPECT_EQ(MotionEvent::TOOL_TYPE_FINGER, event.GetToolType(0)); | 85 EXPECT_EQ(MotionEvent::TOOL_TYPE_FINGER, event.GetToolType(0)); |
86 EXPECT_EQ(MotionEvent::TOOL_TYPE_FINGER, event.GetToolType(1)); | 86 EXPECT_EQ(MotionEvent::TOOL_TYPE_FINGER, event.GetToolType(1)); |
87 EXPECT_EQ(MotionEvent::BUTTON_PRIMARY, event.GetButtonState()); | 87 EXPECT_EQ(MotionEvent::BUTTON_PRIMARY, event.GetButtonState()); |
88 EXPECT_EQ(ui::EF_ALT_DOWN, event.GetFlags()); | 88 EXPECT_EQ(ui::EF_ALT_DOWN | ui::EF_LEFT_MOUSE_BUTTON, event.GetFlags()); |
89 EXPECT_EQ(static_cast<size_t>(pointer_count), event.GetPointerCount()); | 89 EXPECT_EQ(static_cast<size_t>(pointer_count), event.GetPointerCount()); |
90 EXPECT_EQ(static_cast<size_t>(history_size), event.GetHistorySize()); | 90 EXPECT_EQ(static_cast<size_t>(history_size), event.GetHistorySize()); |
91 } | 91 } |
92 | 92 |
93 TEST(MotionEventAndroidTest, Clone) { | 93 TEST(MotionEventAndroidTest, Clone) { |
94 const int pointer_count = 1; | 94 const int pointer_count = 1; |
95 MotionEventAndroid::Pointer p0( | 95 MotionEventAndroid::Pointer p0( |
96 1, 13.7f, -7.13f, 5.3f, 1.2f, 0.1f, 0.2f, kAndroidToolTypeFinger); | 96 1, 13.7f, -7.13f, 5.3f, 1.2f, 0.1f, 0.2f, kAndroidToolTypeFinger); |
97 MotionEventAndroid::Pointer p1(0, 0, 0, 0, 0, 0, 0, 0); | |
98 MotionEventAndroid event(kPixToDip, | 97 MotionEventAndroid event(kPixToDip, |
99 base::android::AttachCurrentThread(), | 98 base::android::AttachCurrentThread(), |
100 nullptr, | 99 nullptr, |
101 0, | 100 0, |
102 kAndroidActionDown, | 101 kAndroidActionDown, |
103 pointer_count, | 102 pointer_count, |
104 0, | 103 0, |
105 0, | 104 0, |
106 0, | 105 0, |
107 0, | 106 0, |
108 0, | 107 0, |
109 0, | 108 0, |
110 p0, | 109 &p0, |
111 p1); | 110 nullptr); |
112 | 111 |
113 std::unique_ptr<MotionEvent> clone = event.Clone(); | 112 std::unique_ptr<MotionEvent> clone = event.Clone(); |
114 EXPECT_EQ(ui::test::ToString(event), ui::test::ToString(*clone)); | 113 EXPECT_EQ(ui::test::ToString(event), ui::test::ToString(*clone)); |
115 } | 114 } |
116 | 115 |
117 TEST(MotionEventAndroidTest, Cancel) { | 116 TEST(MotionEventAndroidTest, Cancel) { |
118 const int event_time_ms = 5; | 117 const int event_time_ms = 5; |
119 const int pointer_count = 1; | 118 const int pointer_count = 1; |
120 MotionEventAndroid::Pointer p0( | 119 MotionEventAndroid::Pointer p0( |
121 1, 13.7f, -7.13f, 5.3f, 1.2f, 0.1f, 0.2f, kAndroidToolTypeFinger); | 120 1, 13.7f, -7.13f, 5.3f, 1.2f, 0.1f, 0.2f, kAndroidToolTypeFinger); |
122 MotionEventAndroid::Pointer p1(0, 0, 0, 0, 0, 0, 0, 0); | |
123 MotionEventAndroid event(kPixToDip, | 121 MotionEventAndroid event(kPixToDip, |
124 base::android::AttachCurrentThread(), | 122 base::android::AttachCurrentThread(), |
125 nullptr, | 123 nullptr, |
126 event_time_ms, | 124 event_time_ms, |
127 kAndroidActionDown, | 125 kAndroidActionDown, |
128 pointer_count, | 126 pointer_count, |
129 0, | 127 0, |
130 0, | 128 0, |
131 0, | 129 0, |
132 0, | 130 0, |
133 0, | 131 0, |
134 0, | 132 0, |
135 p0, | 133 &p0, |
136 p1); | 134 nullptr); |
137 | 135 |
138 std::unique_ptr<MotionEvent> cancel_event = event.Cancel(); | 136 std::unique_ptr<MotionEvent> cancel_event = event.Cancel(); |
139 EXPECT_EQ(MotionEvent::ACTION_CANCEL, cancel_event->GetAction()); | 137 EXPECT_EQ(MotionEvent::ACTION_CANCEL, cancel_event->GetAction()); |
140 EXPECT_EQ( | 138 EXPECT_EQ( |
141 base::TimeTicks() + base::TimeDelta::FromMilliseconds(event_time_ms), | 139 base::TimeTicks() + base::TimeDelta::FromMilliseconds(event_time_ms), |
142 cancel_event->GetEventTime()); | 140 cancel_event->GetEventTime()); |
143 EXPECT_EQ(p0.pos_x_pixels * kPixToDip, cancel_event->GetX(0)); | 141 EXPECT_EQ(p0.pos_x_pixels * kPixToDip, cancel_event->GetX(0)); |
144 EXPECT_EQ(p0.pos_y_pixels * kPixToDip, cancel_event->GetY(0)); | 142 EXPECT_EQ(p0.pos_y_pixels * kPixToDip, cancel_event->GetY(0)); |
145 EXPECT_EQ(static_cast<size_t>(pointer_count), | 143 EXPECT_EQ(static_cast<size_t>(pointer_count), |
146 cancel_event->GetPointerCount()); | 144 cancel_event->GetPointerCount()); |
(...skipping 11 matching lines...) Expand all Loading... |
158 nullptr, | 156 nullptr, |
159 0, | 157 0, |
160 kAndroidActionDown, | 158 kAndroidActionDown, |
161 pointer_count, | 159 pointer_count, |
162 0, | 160 0, |
163 0, | 161 0, |
164 0, | 162 0, |
165 0, | 163 0, |
166 0, | 164 0, |
167 0, | 165 0, |
168 p0, | 166 &p0, |
169 p1); | 167 &p1); |
170 | 168 |
171 EXPECT_EQ(0.f, event.GetOrientation(0)); | 169 EXPECT_EQ(0.f, event.GetOrientation(0)); |
172 EXPECT_EQ(0.f, event.GetOrientation(1)); | 170 EXPECT_EQ(0.f, event.GetOrientation(1)); |
173 } | 171 } |
174 | 172 |
175 TEST(MotionEventAndroidTest, NonEmptyHistoryForNonMoveEventsSanitized) { | 173 TEST(MotionEventAndroidTest, NonEmptyHistoryForNonMoveEventsSanitized) { |
176 int pointer_count = 1; | 174 int pointer_count = 1; |
177 size_t history_size = 5; | 175 size_t history_size = 5; |
178 MotionEventAndroid::Pointer p0(0, 0, 0, 0, 0, 0, 0, 0); | 176 MotionEventAndroid::Pointer p0(0, 0, 0, 0, 0, 0, 0, 0); |
179 MotionEventAndroid::Pointer p1(0, 0, 0, 0, 0, 0, 0, 0); | |
180 MotionEventAndroid event(kPixToDip, | 177 MotionEventAndroid event(kPixToDip, |
181 base::android::AttachCurrentThread(), | 178 base::android::AttachCurrentThread(), |
182 nullptr, | 179 nullptr, |
183 0, | 180 0, |
184 kAndroidActionDown, | 181 kAndroidActionDown, |
185 pointer_count, | 182 pointer_count, |
186 history_size, | 183 history_size, |
187 0, | 184 0, |
188 0, | 185 0, |
189 0, | 186 0, |
190 0, | 187 0, |
191 0, | 188 0, |
192 p0, | 189 &p0, |
193 p1); | 190 nullptr); |
194 | 191 |
195 EXPECT_EQ(0U, event.GetHistorySize()); | 192 EXPECT_EQ(0U, event.GetHistorySize()); |
196 } | 193 } |
197 | 194 |
198 TEST(MotionEventAndroidTest, ActionIndexForPointerDown) { | 195 TEST(MotionEventAndroidTest, ActionIndexForPointerDown) { |
199 MotionEventAndroid::Pointer p0( | 196 MotionEventAndroid::Pointer p0( |
200 1, 13.7f, -7.13f, 5.3f, 1.2f, 0.1f, 0.2f, kAndroidToolTypeFinger); | 197 1, 13.7f, -7.13f, 5.3f, 1.2f, 0.1f, 0.2f, kAndroidToolTypeFinger); |
201 MotionEventAndroid::Pointer p1( | 198 MotionEventAndroid::Pointer p1( |
202 2, -13.7f, 7.13f, 3.5f, 12.1f, -0.1f, -0.4f, kAndroidToolTypeFinger); | 199 2, -13.7f, 7.13f, 3.5f, 12.1f, -0.1f, -0.4f, kAndroidToolTypeFinger); |
203 int pointer_count = 2; | 200 int pointer_count = 2; |
204 int history_size = 0; | 201 int history_size = 0; |
205 int action_index = 1; | 202 int action_index = 1; |
206 MotionEventAndroid event(kPixToDip, | 203 MotionEventAndroid event(kPixToDip, |
207 base::android::AttachCurrentThread(), | 204 base::android::AttachCurrentThread(), |
208 nullptr, | 205 nullptr, |
209 0, | 206 0, |
210 kAndroidActionPointerDown, | 207 kAndroidActionPointerDown, |
211 pointer_count, | 208 pointer_count, |
212 history_size, | 209 history_size, |
213 action_index, | 210 action_index, |
214 0, | 211 0, |
215 0, | 212 0, |
216 0, | 213 0, |
217 0, | 214 0, |
218 p0, | 215 &p0, |
219 p1); | 216 &p1); |
220 | 217 |
221 EXPECT_EQ(MotionEvent::ACTION_POINTER_DOWN, event.GetAction()); | 218 EXPECT_EQ(MotionEvent::ACTION_POINTER_DOWN, event.GetAction()); |
222 EXPECT_EQ(action_index, event.GetActionIndex()); | 219 EXPECT_EQ(action_index, event.GetActionIndex()); |
223 } | 220 } |
224 | 221 |
225 } // namespace content | 222 } // namespace content |
OLD | NEW |