Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(12)

Side by Side Diff: ui/events/gestures/motion_event_aura_unittest.cc

Issue 510793003: Remove ui::TouchEvent -> blink::WebTouchEvent conversion methods. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fix broken test. Created 5 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « ui/events/gestures/motion_event_aura.cc ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 // MSVC++ requires this to be set before any other includes to get M_PI. 5 // MSVC++ requires this to be set before any other includes to get M_PI.
6 #define _USE_MATH_DEFINES 6 #define _USE_MATH_DEFINES
7 7
8 #include <cmath> 8 #include <cmath>
9 9
10 #include "testing/gtest/include/gtest/gtest.h" 10 #include "testing/gtest/include/gtest/gtest.h"
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after
72 72
73 TEST(MotionEventAuraTest, PointerCountAndIds) { 73 TEST(MotionEventAuraTest, PointerCountAndIds) {
74 // Test that |PointerCount()| returns the correct number of pointers, and ids 74 // Test that |PointerCount()| returns the correct number of pointers, and ids
75 // are assigned correctly. 75 // are assigned correctly.
76 int ids[] = {4, 6, 1}; 76 int ids[] = {4, 6, 1};
77 77
78 MotionEventAura event; 78 MotionEventAura event;
79 EXPECT_EQ(0U, event.GetPointerCount()); 79 EXPECT_EQ(0U, event.GetPointerCount());
80 80
81 TouchEvent press0 = TouchWithType(ET_TOUCH_PRESSED, ids[0]); 81 TouchEvent press0 = TouchWithType(ET_TOUCH_PRESSED, ids[0]);
82 event.OnTouch(press0); 82 EXPECT_TRUE(event.OnTouch(press0));
83 EXPECT_EQ(1U, event.GetPointerCount()); 83 EXPECT_EQ(1U, event.GetPointerCount());
84 84
85 EXPECT_EQ(ids[0], event.GetPointerId(0)); 85 EXPECT_EQ(ids[0], event.GetPointerId(0));
86 86
87 TouchEvent press1 = TouchWithType(ET_TOUCH_PRESSED, ids[1]); 87 TouchEvent press1 = TouchWithType(ET_TOUCH_PRESSED, ids[1]);
88 event.OnTouch(press1); 88 EXPECT_TRUE(event.OnTouch(press1));
89 EXPECT_EQ(2U, event.GetPointerCount()); 89 EXPECT_EQ(2U, event.GetPointerCount());
90 90
91 EXPECT_EQ(ids[0], event.GetPointerId(0)); 91 EXPECT_EQ(ids[0], event.GetPointerId(0));
92 EXPECT_EQ(ids[1], event.GetPointerId(1)); 92 EXPECT_EQ(ids[1], event.GetPointerId(1));
93 93
94 TouchEvent press2 = TouchWithType(ET_TOUCH_PRESSED, ids[2]); 94 TouchEvent press2 = TouchWithType(ET_TOUCH_PRESSED, ids[2]);
95 event.OnTouch(press2); 95 EXPECT_TRUE(event.OnTouch(press2));
96 EXPECT_EQ(3U, event.GetPointerCount()); 96 EXPECT_EQ(3U, event.GetPointerCount());
97 97
98 EXPECT_EQ(ids[0], event.GetPointerId(0)); 98 EXPECT_EQ(ids[0], event.GetPointerId(0));
99 EXPECT_EQ(ids[1], event.GetPointerId(1)); 99 EXPECT_EQ(ids[1], event.GetPointerId(1));
100 EXPECT_EQ(ids[2], event.GetPointerId(2)); 100 EXPECT_EQ(ids[2], event.GetPointerId(2));
101 101
102 TouchEvent release1 = TouchWithType(ET_TOUCH_RELEASED, ids[1]); 102 TouchEvent release1 = TouchWithType(ET_TOUCH_RELEASED, ids[1]);
103 event.OnTouch(release1); 103 EXPECT_TRUE(event.OnTouch(release1));
104 event.CleanupRemovedTouchPoints(release1); 104 event.CleanupRemovedTouchPoints(release1);
105 EXPECT_EQ(2U, event.GetPointerCount()); 105 EXPECT_EQ(2U, event.GetPointerCount());
106 106
107 EXPECT_EQ(ids[0], event.GetPointerId(0)); 107 EXPECT_EQ(ids[0], event.GetPointerId(0));
108 EXPECT_EQ(ids[2], event.GetPointerId(1)); 108 EXPECT_EQ(ids[2], event.GetPointerId(1));
109 109
110 // Test cloning of pointer count and id information. 110 // Test cloning of pointer count and id information.
111 // TODO(mustaq): Make a separate clone test 111 // TODO(mustaq): Make a separate clone test
112 scoped_ptr<MotionEvent> clone = event.Clone(); 112 scoped_ptr<MotionEvent> clone = event.Clone();
113 EXPECT_EQ(2U, clone->GetPointerCount()); 113 EXPECT_EQ(2U, clone->GetPointerCount());
114 EXPECT_EQ(ids[0], clone->GetPointerId(0)); 114 EXPECT_EQ(ids[0], clone->GetPointerId(0));
115 EXPECT_EQ(ids[2], clone->GetPointerId(1)); 115 EXPECT_EQ(ids[2], clone->GetPointerId(1));
116 EXPECT_EQ(test::ToString(event), test::ToString(*clone)); 116 EXPECT_EQ(test::ToString(event), test::ToString(*clone));
117 117
118 TouchEvent release0 = TouchWithType(ET_TOUCH_RELEASED, ids[0]); 118 TouchEvent release0 = TouchWithType(ET_TOUCH_RELEASED, ids[0]);
119 event.OnTouch(release0); 119 EXPECT_TRUE(event.OnTouch(release0));
120 event.CleanupRemovedTouchPoints(release0); 120 event.CleanupRemovedTouchPoints(release0);
121 EXPECT_EQ(1U, event.GetPointerCount()); 121 EXPECT_EQ(1U, event.GetPointerCount());
122 122
123 EXPECT_EQ(ids[2], event.GetPointerId(0)); 123 EXPECT_EQ(ids[2], event.GetPointerId(0));
124 124
125 TouchEvent release2 = TouchWithType(ET_TOUCH_RELEASED, ids[2]); 125 TouchEvent release2 = TouchWithType(ET_TOUCH_RELEASED, ids[2]);
126 event.OnTouch(release2); 126 EXPECT_TRUE(event.OnTouch(release2));
127 event.CleanupRemovedTouchPoints(release2); 127 event.CleanupRemovedTouchPoints(release2);
128 EXPECT_EQ(0U, event.GetPointerCount()); 128 EXPECT_EQ(0U, event.GetPointerCount());
129 } 129 }
130 130
131 TEST(MotionEventAuraTest, GetActionIndexAfterRemoval) { 131 TEST(MotionEventAuraTest, GetActionIndexAfterRemoval) {
132 // Test that |GetActionIndex()| returns the correct index when points have 132 // Test that |GetActionIndex()| returns the correct index when points have
133 // been removed. 133 // been removed.
134 int ids[] = {4, 6, 9}; 134 int ids[] = {4, 6, 9};
135 135
136 MotionEventAura event; 136 MotionEventAura event;
137 EXPECT_EQ(0U, event.GetPointerCount()); 137 EXPECT_EQ(0U, event.GetPointerCount());
138 138
139 TouchEvent press0 = TouchWithType(ET_TOUCH_PRESSED, ids[0]); 139 TouchEvent press0 = TouchWithType(ET_TOUCH_PRESSED, ids[0]);
140 event.OnTouch(press0); 140 EXPECT_TRUE(event.OnTouch(press0));
141 TouchEvent press1 = TouchWithType(ET_TOUCH_PRESSED, ids[1]); 141 TouchEvent press1 = TouchWithType(ET_TOUCH_PRESSED, ids[1]);
142 event.OnTouch(press1); 142 EXPECT_TRUE(event.OnTouch(press1));
143 EXPECT_EQ(1, event.GetActionIndex()); 143 EXPECT_EQ(1, event.GetActionIndex());
144 TouchEvent press2 = TouchWithType(ET_TOUCH_PRESSED, ids[2]); 144 TouchEvent press2 = TouchWithType(ET_TOUCH_PRESSED, ids[2]);
145 event.OnTouch(press2); 145 EXPECT_TRUE(event.OnTouch(press2));
146 EXPECT_EQ(2, event.GetActionIndex()); 146 EXPECT_EQ(2, event.GetActionIndex());
147 EXPECT_EQ(3U, event.GetPointerCount()); 147 EXPECT_EQ(3U, event.GetPointerCount());
148 148
149 TouchEvent release1 = TouchWithType(ET_TOUCH_RELEASED, ids[1]); 149 TouchEvent release1 = TouchWithType(ET_TOUCH_RELEASED, ids[1]);
150 event.OnTouch(release1); 150 EXPECT_TRUE(event.OnTouch(release1));
151 EXPECT_EQ(1, event.GetActionIndex()); 151 EXPECT_EQ(1, event.GetActionIndex());
152 event.CleanupRemovedTouchPoints(release1); 152 event.CleanupRemovedTouchPoints(release1);
153 EXPECT_EQ(2U, event.GetPointerCount()); 153 EXPECT_EQ(2U, event.GetPointerCount());
154 154
155 TouchEvent release2 = TouchWithType(ET_TOUCH_RELEASED, ids[0]); 155 TouchEvent release2 = TouchWithType(ET_TOUCH_RELEASED, ids[0]);
156 event.OnTouch(release2); 156 EXPECT_TRUE(event.OnTouch(release2));
157 EXPECT_EQ(0, event.GetActionIndex()); 157 EXPECT_EQ(0, event.GetActionIndex());
158 event.CleanupRemovedTouchPoints(release2); 158 event.CleanupRemovedTouchPoints(release2);
159 EXPECT_EQ(1U, event.GetPointerCount()); 159 EXPECT_EQ(1U, event.GetPointerCount());
160 160
161 TouchEvent release0 = TouchWithType(ET_TOUCH_RELEASED, ids[2]); 161 TouchEvent release0 = TouchWithType(ET_TOUCH_RELEASED, ids[2]);
162 event.OnTouch(release0); 162 EXPECT_TRUE(event.OnTouch(release0));
163 event.CleanupRemovedTouchPoints(release0); 163 event.CleanupRemovedTouchPoints(release0);
164 EXPECT_EQ(0U, event.GetPointerCount()); 164 EXPECT_EQ(0U, event.GetPointerCount());
165 } 165 }
166 166
167 TEST(MotionEventAuraTest, PointerLocations) { 167 TEST(MotionEventAuraTest, PointerLocations) {
168 // Test that location information is stored correctly. 168 // Test that location information is stored correctly.
169 MotionEventAura event; 169 MotionEventAura event;
170 170
171 const float kRawOffsetX = 11.1f; 171 const float kRawOffsetX = 11.1f;
172 const float kRawOffsetY = 13.3f; 172 const float kRawOffsetY = 13.3f;
173 173
174 int ids[] = {15, 13}; 174 int ids[] = {15, 13};
175 float x; 175 float x;
176 float y; 176 float y;
177 float raw_x; 177 float raw_x;
178 float raw_y; 178 float raw_y;
179 179
180 x = 14.4f; 180 x = 14.4f;
181 y = 17.3f; 181 y = 17.3f;
182 raw_x = x + kRawOffsetX; 182 raw_x = x + kRawOffsetX;
183 raw_y = y + kRawOffsetY; 183 raw_y = y + kRawOffsetY;
184 TouchEvent press0 = 184 TouchEvent press0 =
185 TouchWithPosition(ET_TOUCH_PRESSED, ids[0], x, y, raw_x, raw_y); 185 TouchWithPosition(ET_TOUCH_PRESSED, ids[0], x, y, raw_x, raw_y);
186 event.OnTouch(press0); 186 EXPECT_TRUE(event.OnTouch(press0));
187 187
188 EXPECT_EQ(1U, event.GetPointerCount()); 188 EXPECT_EQ(1U, event.GetPointerCount());
189 EXPECT_FLOAT_EQ(x, event.GetX(0)); 189 EXPECT_FLOAT_EQ(x, event.GetX(0));
190 EXPECT_FLOAT_EQ(y, event.GetY(0)); 190 EXPECT_FLOAT_EQ(y, event.GetY(0));
191 EXPECT_FLOAT_EQ(raw_x, event.GetRawX(0)); 191 EXPECT_FLOAT_EQ(raw_x, event.GetRawX(0));
192 EXPECT_FLOAT_EQ(raw_y, event.GetRawY(0)); 192 EXPECT_FLOAT_EQ(raw_y, event.GetRawY(0));
193 193
194 x = 17.8f; 194 x = 17.8f;
195 y = 12.1f; 195 y = 12.1f;
196 raw_x = x + kRawOffsetX; 196 raw_x = x + kRawOffsetX;
197 raw_y = y + kRawOffsetY; 197 raw_y = y + kRawOffsetY;
198 TouchEvent press1 = 198 TouchEvent press1 =
199 TouchWithPosition(ET_TOUCH_PRESSED, ids[1], x, y, raw_x, raw_y); 199 TouchWithPosition(ET_TOUCH_PRESSED, ids[1], x, y, raw_x, raw_y);
200 event.OnTouch(press1); 200 EXPECT_TRUE(event.OnTouch(press1));
201 201
202 EXPECT_EQ(2U, event.GetPointerCount()); 202 EXPECT_EQ(2U, event.GetPointerCount());
203 EXPECT_FLOAT_EQ(x, event.GetX(1)); 203 EXPECT_FLOAT_EQ(x, event.GetX(1));
204 EXPECT_FLOAT_EQ(y, event.GetY(1)); 204 EXPECT_FLOAT_EQ(y, event.GetY(1));
205 EXPECT_FLOAT_EQ(raw_x, event.GetRawX(1)); 205 EXPECT_FLOAT_EQ(raw_x, event.GetRawX(1));
206 EXPECT_FLOAT_EQ(raw_y, event.GetRawY(1)); 206 EXPECT_FLOAT_EQ(raw_y, event.GetRawY(1));
207 207
208 // Test cloning of pointer location information. 208 // Test cloning of pointer location information.
209 scoped_ptr<MotionEvent> clone = event.Clone(); 209 scoped_ptr<MotionEvent> clone = event.Clone();
210 { 210 {
211 EXPECT_EQ(test::ToString(event), test::ToString(*clone)); 211 EXPECT_EQ(test::ToString(event), test::ToString(*clone));
212 EXPECT_EQ(2U, clone->GetPointerCount()); 212 EXPECT_EQ(2U, clone->GetPointerCount());
213 EXPECT_FLOAT_EQ(x, clone->GetX(1)); 213 EXPECT_FLOAT_EQ(x, clone->GetX(1));
214 EXPECT_FLOAT_EQ(y, clone->GetY(1)); 214 EXPECT_FLOAT_EQ(y, clone->GetY(1));
215 EXPECT_FLOAT_EQ(raw_x, clone->GetRawX(1)); 215 EXPECT_FLOAT_EQ(raw_x, clone->GetRawX(1));
216 EXPECT_FLOAT_EQ(raw_y, clone->GetRawY(1)); 216 EXPECT_FLOAT_EQ(raw_y, clone->GetRawY(1));
217 } 217 }
218 218
219 x = 27.9f; 219 x = 27.9f;
220 y = 22.3f; 220 y = 22.3f;
221 raw_x = x + kRawOffsetX; 221 raw_x = x + kRawOffsetX;
222 raw_y = y + kRawOffsetY; 222 raw_y = y + kRawOffsetY;
223 TouchEvent move1 = 223 TouchEvent move1 =
224 TouchWithPosition(ET_TOUCH_MOVED, ids[1], x, y, raw_x, raw_y); 224 TouchWithPosition(ET_TOUCH_MOVED, ids[1], x, y, raw_x, raw_y);
225 event.OnTouch(move1); 225 EXPECT_TRUE(event.OnTouch(move1));
226 226
227 EXPECT_FLOAT_EQ(x, event.GetX(1)); 227 EXPECT_FLOAT_EQ(x, event.GetX(1));
228 EXPECT_FLOAT_EQ(y, event.GetY(1)); 228 EXPECT_FLOAT_EQ(y, event.GetY(1));
229 EXPECT_FLOAT_EQ(raw_x, event.GetRawX(1)); 229 EXPECT_FLOAT_EQ(raw_x, event.GetRawX(1));
230 EXPECT_FLOAT_EQ(raw_y, event.GetRawY(1)); 230 EXPECT_FLOAT_EQ(raw_y, event.GetRawY(1));
231 231
232 x = 34.6f; 232 x = 34.6f;
233 y = 23.8f; 233 y = 23.8f;
234 raw_x = x + kRawOffsetX; 234 raw_x = x + kRawOffsetX;
235 raw_y = y + kRawOffsetY; 235 raw_y = y + kRawOffsetY;
236 TouchEvent move0 = 236 TouchEvent move0 =
237 TouchWithPosition(ET_TOUCH_MOVED, ids[0], x, y, raw_x, raw_y); 237 TouchWithPosition(ET_TOUCH_MOVED, ids[0], x, y, raw_x, raw_y);
238 event.OnTouch(move0); 238 EXPECT_TRUE(event.OnTouch(move0));
239 239
240 EXPECT_FLOAT_EQ(x, event.GetX(0)); 240 EXPECT_FLOAT_EQ(x, event.GetX(0));
241 EXPECT_FLOAT_EQ(y, event.GetY(0)); 241 EXPECT_FLOAT_EQ(y, event.GetY(0));
242 EXPECT_FLOAT_EQ(raw_x, event.GetRawX(0)); 242 EXPECT_FLOAT_EQ(raw_x, event.GetRawX(0));
243 EXPECT_FLOAT_EQ(raw_y, event.GetRawY(0)); 243 EXPECT_FLOAT_EQ(raw_y, event.GetRawY(0));
244 } 244 }
245 245
246 TEST(MotionEventAuraTest, TapParams) { 246 TEST(MotionEventAuraTest, TapParams) {
247 // Test that touch params are stored correctly. 247 // Test that touch params are stored correctly.
248 MotionEventAura event; 248 MotionEventAura event;
249 249
250 int ids[] = {15, 13}; 250 int ids[] = {15, 13};
251 251
252 float radius_x; 252 float radius_x;
253 float radius_y; 253 float radius_y;
254 float rotation_angle; 254 float rotation_angle;
255 float pressure; 255 float pressure;
256 256
257 radius_x = 123.45f; 257 radius_x = 123.45f;
258 radius_y = 67.89f; 258 radius_y = 67.89f;
259 rotation_angle = 23.f; 259 rotation_angle = 23.f;
260 pressure = 0.123f; 260 pressure = 0.123f;
261 TouchEvent press0 = TouchWithTapParams( 261 TouchEvent press0 = TouchWithTapParams(
262 ET_TOUCH_PRESSED, ids[0], radius_x, radius_y, rotation_angle, pressure); 262 ET_TOUCH_PRESSED, ids[0], radius_x, radius_y, rotation_angle, pressure);
263 event.OnTouch(press0); 263 EXPECT_TRUE(event.OnTouch(press0));
264 264
265 EXPECT_EQ(1U, event.GetPointerCount()); 265 EXPECT_EQ(1U, event.GetPointerCount());
266 EXPECT_FLOAT_EQ(radius_x, event.GetTouchMajor(0) / 2); 266 EXPECT_FLOAT_EQ(radius_x, event.GetTouchMajor(0) / 2);
267 EXPECT_FLOAT_EQ(radius_y, event.GetTouchMinor(0) / 2); 267 EXPECT_FLOAT_EQ(radius_y, event.GetTouchMinor(0) / 2);
268 EXPECT_FLOAT_EQ(rotation_angle, event.GetOrientation(0) * 180 / M_PI + 90); 268 EXPECT_FLOAT_EQ(rotation_angle, event.GetOrientation(0) * 180 / M_PI + 90);
269 EXPECT_FLOAT_EQ(pressure, event.GetPressure(0)); 269 EXPECT_FLOAT_EQ(pressure, event.GetPressure(0));
270 270
271 radius_x = 67.89f; 271 radius_x = 67.89f;
272 radius_y = 123.45f; 272 radius_y = 123.45f;
273 rotation_angle = 46.f; 273 rotation_angle = 46.f;
274 pressure = 0.456f; 274 pressure = 0.456f;
275 TouchEvent press1 = TouchWithTapParams( 275 TouchEvent press1 = TouchWithTapParams(
276 ET_TOUCH_PRESSED, ids[1], radius_x, radius_y, rotation_angle, pressure); 276 ET_TOUCH_PRESSED, ids[1], radius_x, radius_y, rotation_angle, pressure);
277 event.OnTouch(press1); 277 EXPECT_TRUE(event.OnTouch(press1));
278 278
279 EXPECT_EQ(2U, event.GetPointerCount()); 279 EXPECT_EQ(2U, event.GetPointerCount());
280 EXPECT_FLOAT_EQ(radius_y, event.GetTouchMajor(1) / 2); 280 EXPECT_FLOAT_EQ(radius_y, event.GetTouchMajor(1) / 2);
281 EXPECT_FLOAT_EQ(radius_x, event.GetTouchMinor(1) / 2); 281 EXPECT_FLOAT_EQ(radius_x, event.GetTouchMinor(1) / 2);
282 EXPECT_FLOAT_EQ(rotation_angle, event.GetOrientation(1) * 180 / M_PI); 282 EXPECT_FLOAT_EQ(rotation_angle, event.GetOrientation(1) * 180 / M_PI);
283 EXPECT_FLOAT_EQ(pressure, event.GetPressure(1)); 283 EXPECT_FLOAT_EQ(pressure, event.GetPressure(1));
284 284
285 // Test cloning of tap params 285 // Test cloning of tap params
286 scoped_ptr<MotionEvent> clone = event.Clone(); 286 scoped_ptr<MotionEvent> clone = event.Clone();
287 { 287 {
288 EXPECT_EQ(test::ToString(event), test::ToString(*clone)); 288 EXPECT_EQ(test::ToString(event), test::ToString(*clone));
289 EXPECT_EQ(2U, clone->GetPointerCount()); 289 EXPECT_EQ(2U, clone->GetPointerCount());
290 EXPECT_FLOAT_EQ(radius_y, clone->GetTouchMajor(1) / 2); 290 EXPECT_FLOAT_EQ(radius_y, clone->GetTouchMajor(1) / 2);
291 EXPECT_FLOAT_EQ(radius_x, clone->GetTouchMinor(1) / 2); 291 EXPECT_FLOAT_EQ(radius_x, clone->GetTouchMinor(1) / 2);
292 EXPECT_FLOAT_EQ(rotation_angle, clone->GetOrientation(1) * 180 / M_PI); 292 EXPECT_FLOAT_EQ(rotation_angle, clone->GetOrientation(1) * 180 / M_PI);
293 EXPECT_FLOAT_EQ(pressure, clone->GetPressure(1)); 293 EXPECT_FLOAT_EQ(pressure, clone->GetPressure(1));
294 } 294 }
295 295
296 radius_x = 76.98f; 296 radius_x = 76.98f;
297 radius_y = 321.54f; 297 radius_y = 321.54f;
298 rotation_angle = 64.f; 298 rotation_angle = 64.f;
299 pressure = 0.654f; 299 pressure = 0.654f;
300 TouchEvent move1 = TouchWithTapParams( 300 TouchEvent move1 = TouchWithTapParams(
301 ET_TOUCH_MOVED, ids[1], radius_x, radius_y, rotation_angle, pressure); 301 ET_TOUCH_MOVED, ids[1], radius_x, radius_y, rotation_angle, pressure);
302 event.OnTouch(move1); 302 move1.set_location(gfx::Point(20, 21));
303 EXPECT_TRUE(event.OnTouch(move1));
303 304
304 EXPECT_EQ(2U, event.GetPointerCount()); 305 EXPECT_EQ(2U, event.GetPointerCount());
305 EXPECT_FLOAT_EQ(radius_y, event.GetTouchMajor(1) / 2); 306 EXPECT_FLOAT_EQ(radius_y, event.GetTouchMajor(1) / 2);
306 EXPECT_FLOAT_EQ(radius_x, event.GetTouchMinor(1) / 2); 307 EXPECT_FLOAT_EQ(radius_x, event.GetTouchMinor(1) / 2);
307 EXPECT_FLOAT_EQ(rotation_angle, event.GetOrientation(1) * 180 / M_PI); 308 EXPECT_FLOAT_EQ(rotation_angle, event.GetOrientation(1) * 180 / M_PI);
308 EXPECT_FLOAT_EQ(pressure, event.GetPressure(1)); 309 EXPECT_FLOAT_EQ(pressure, event.GetPressure(1));
309 } 310 }
310 311
311 TEST(MotionEventAuraTest, Timestamps) { 312 TEST(MotionEventAuraTest, Timestamps) {
312 // Test that timestamp information is stored and converted correctly. 313 // Test that timestamp information is stored and converted correctly.
313 MotionEventAura event; 314 MotionEventAura event;
314 int ids[] = {7, 13}; 315 int ids[] = {7, 13};
315 int times_in_ms[] = {59436, 60263, 82175}; 316 int times_in_ms[] = {59436, 60263, 82175};
316 317
317 TouchEvent press0 = TouchWithTime( 318 TouchEvent press0 = TouchWithTime(
318 ui::ET_TOUCH_PRESSED, ids[0], times_in_ms[0]); 319 ui::ET_TOUCH_PRESSED, ids[0], times_in_ms[0]);
319 event.OnTouch(press0); 320 EXPECT_TRUE(event.OnTouch(press0));
320 EXPECT_EQ(MsToTicks(times_in_ms[0]), event.GetEventTime()); 321 EXPECT_EQ(MsToTicks(times_in_ms[0]), event.GetEventTime());
321 322
322 TouchEvent press1 = TouchWithTime( 323 TouchEvent press1 = TouchWithTime(
323 ui::ET_TOUCH_PRESSED, ids[1], times_in_ms[1]); 324 ui::ET_TOUCH_PRESSED, ids[1], times_in_ms[1]);
324 event.OnTouch(press1); 325 EXPECT_TRUE(event.OnTouch(press1));
325 EXPECT_EQ(MsToTicks(times_in_ms[1]), event.GetEventTime()); 326 EXPECT_EQ(MsToTicks(times_in_ms[1]), event.GetEventTime());
326 327
327 TouchEvent move0 = TouchWithTime( 328 TouchEvent move0 = TouchWithTime(
328 ui::ET_TOUCH_MOVED, ids[0], times_in_ms[2]); 329 ui::ET_TOUCH_MOVED, ids[0], times_in_ms[2]);
329 event.OnTouch(move0); 330 move0.set_location(gfx::PointF(12, 21));
331 EXPECT_TRUE(event.OnTouch(move0));
330 EXPECT_EQ(MsToTicks(times_in_ms[2]), event.GetEventTime()); 332 EXPECT_EQ(MsToTicks(times_in_ms[2]), event.GetEventTime());
331 333
332 // Test cloning of timestamp information. 334 // Test cloning of timestamp information.
333 scoped_ptr<MotionEvent> clone = event.Clone(); 335 scoped_ptr<MotionEvent> clone = event.Clone();
334 EXPECT_EQ(MsToTicks(times_in_ms[2]), clone->GetEventTime()); 336 EXPECT_EQ(MsToTicks(times_in_ms[2]), clone->GetEventTime());
335 } 337 }
336 338
337 TEST(MotionEventAuraTest, CachedAction) { 339 TEST(MotionEventAuraTest, CachedAction) {
338 // Test that the cached action and cached action index are correct. 340 // Test that the cached action and cached action index are correct.
339 int ids[] = {4, 6}; 341 int ids[] = {4, 6};
340 MotionEventAura event; 342 MotionEventAura event;
341 343
342 TouchEvent press0 = TouchWithType(ET_TOUCH_PRESSED, ids[0]); 344 TouchEvent press0 = TouchWithType(ET_TOUCH_PRESSED, ids[0]);
343 event.OnTouch(press0); 345 EXPECT_TRUE(event.OnTouch(press0));
344 EXPECT_EQ(MotionEvent::ACTION_DOWN, event.GetAction()); 346 EXPECT_EQ(MotionEvent::ACTION_DOWN, event.GetAction());
345 EXPECT_EQ(1U, event.GetPointerCount()); 347 EXPECT_EQ(1U, event.GetPointerCount());
346 348
347 TouchEvent press1 = TouchWithType(ET_TOUCH_PRESSED, ids[1]); 349 TouchEvent press1 = TouchWithType(ET_TOUCH_PRESSED, ids[1]);
348 event.OnTouch(press1); 350 EXPECT_TRUE(event.OnTouch(press1));
349 EXPECT_EQ(MotionEvent::ACTION_POINTER_DOWN, event.GetAction()); 351 EXPECT_EQ(MotionEvent::ACTION_POINTER_DOWN, event.GetAction());
350 EXPECT_EQ(1, event.GetActionIndex()); 352 EXPECT_EQ(1, event.GetActionIndex());
351 EXPECT_EQ(2U, event.GetPointerCount()); 353 EXPECT_EQ(2U, event.GetPointerCount());
352 354
353 // Test cloning of CachedAction information. 355 // Test cloning of CachedAction information.
354 scoped_ptr<MotionEvent> clone = event.Clone(); 356 scoped_ptr<MotionEvent> clone = event.Clone();
355 EXPECT_EQ(MotionEvent::ACTION_POINTER_DOWN, clone->GetAction()); 357 EXPECT_EQ(MotionEvent::ACTION_POINTER_DOWN, clone->GetAction());
356 EXPECT_EQ(1, clone->GetActionIndex()); 358 EXPECT_EQ(1, clone->GetActionIndex());
357 359
358 TouchEvent move0 = TouchWithType(ET_TOUCH_MOVED, ids[0]); 360 TouchEvent move0 = TouchWithType(ET_TOUCH_MOVED, ids[0]);
359 event.OnTouch(move0); 361 move0.set_location(gfx::PointF(10, 12));
362 EXPECT_TRUE(event.OnTouch(move0));
360 EXPECT_EQ(MotionEvent::ACTION_MOVE, event.GetAction()); 363 EXPECT_EQ(MotionEvent::ACTION_MOVE, event.GetAction());
361 EXPECT_EQ(2U, event.GetPointerCount()); 364 EXPECT_EQ(2U, event.GetPointerCount());
362 365
363 TouchEvent release0 = TouchWithType(ET_TOUCH_RELEASED, ids[0]); 366 TouchEvent release0 = TouchWithType(ET_TOUCH_RELEASED, ids[0]);
364 event.OnTouch(release0); 367 EXPECT_TRUE(event.OnTouch(release0));
365 EXPECT_EQ(MotionEvent::ACTION_POINTER_UP, event.GetAction()); 368 EXPECT_EQ(MotionEvent::ACTION_POINTER_UP, event.GetAction());
366 EXPECT_EQ(2U, event.GetPointerCount()); 369 EXPECT_EQ(2U, event.GetPointerCount());
367 event.CleanupRemovedTouchPoints(release0); 370 event.CleanupRemovedTouchPoints(release0);
368 EXPECT_EQ(1U, event.GetPointerCount()); 371 EXPECT_EQ(1U, event.GetPointerCount());
369 372
370 TouchEvent release1 = TouchWithType(ET_TOUCH_RELEASED, ids[1]); 373 TouchEvent release1 = TouchWithType(ET_TOUCH_RELEASED, ids[1]);
371 event.OnTouch(release1); 374 EXPECT_TRUE(event.OnTouch(release1));
372 EXPECT_EQ(MotionEvent::ACTION_UP, event.GetAction()); 375 EXPECT_EQ(MotionEvent::ACTION_UP, event.GetAction());
373 EXPECT_EQ(1U, event.GetPointerCount()); 376 EXPECT_EQ(1U, event.GetPointerCount());
374 event.CleanupRemovedTouchPoints(release1); 377 event.CleanupRemovedTouchPoints(release1);
375 EXPECT_EQ(0U, event.GetPointerCount()); 378 EXPECT_EQ(0U, event.GetPointerCount());
376 } 379 }
377 380
378 TEST(MotionEventAuraTest, Cancel) { 381 TEST(MotionEventAuraTest, Cancel) {
379 int ids[] = {4, 6}; 382 int ids[] = {4, 6};
380 MotionEventAura event; 383 MotionEventAura event;
381 384
382 TouchEvent press0 = TouchWithType(ET_TOUCH_PRESSED, ids[0]); 385 TouchEvent press0 = TouchWithType(ET_TOUCH_PRESSED, ids[0]);
383 event.OnTouch(press0); 386 EXPECT_TRUE(event.OnTouch(press0));
384 EXPECT_EQ(MotionEvent::ACTION_DOWN, event.GetAction()); 387 EXPECT_EQ(MotionEvent::ACTION_DOWN, event.GetAction());
385 EXPECT_EQ(1U, event.GetPointerCount()); 388 EXPECT_EQ(1U, event.GetPointerCount());
386 389
387 TouchEvent press1 = TouchWithType(ET_TOUCH_PRESSED, ids[1]); 390 TouchEvent press1 = TouchWithType(ET_TOUCH_PRESSED, ids[1]);
388 event.OnTouch(press1); 391 EXPECT_TRUE(event.OnTouch(press1));
389 EXPECT_EQ(MotionEvent::ACTION_POINTER_DOWN, event.GetAction()); 392 EXPECT_EQ(MotionEvent::ACTION_POINTER_DOWN, event.GetAction());
390 EXPECT_EQ(1, event.GetActionIndex()); 393 EXPECT_EQ(1, event.GetActionIndex());
391 EXPECT_EQ(2U, event.GetPointerCount()); 394 EXPECT_EQ(2U, event.GetPointerCount());
392 395
393 scoped_ptr<MotionEvent> cancel = event.Cancel(); 396 scoped_ptr<MotionEvent> cancel = event.Cancel();
394 EXPECT_EQ(MotionEvent::ACTION_CANCEL, cancel->GetAction()); 397 EXPECT_EQ(MotionEvent::ACTION_CANCEL, cancel->GetAction());
395 EXPECT_EQ(2U, cancel->GetPointerCount()); 398 EXPECT_EQ(2U, cancel->GetPointerCount());
396 } 399 }
397 400
398 TEST(MotionEventAuraTest, ToolType) { 401 TEST(MotionEventAuraTest, ToolType) {
399 MotionEventAura event; 402 MotionEventAura event;
400 403
401 // For now, all pointers have an unknown tool type. 404 // For now, all pointers have an unknown tool type.
402 // TODO(jdduke): Expand this test when ui::TouchEvent identifies the source 405 // TODO(jdduke): Expand this test when ui::TouchEvent identifies the source
403 // touch type, crbug.com/404128. 406 // touch type, crbug.com/404128.
404 event.OnTouch(TouchWithType(ET_TOUCH_PRESSED, 7)); 407 EXPECT_TRUE(event.OnTouch(TouchWithType(ET_TOUCH_PRESSED, 7)));
405 ASSERT_EQ(1U, event.GetPointerCount()); 408 ASSERT_EQ(1U, event.GetPointerCount());
406 EXPECT_EQ(MotionEvent::TOOL_TYPE_UNKNOWN, event.GetToolType(0)); 409 EXPECT_EQ(MotionEvent::TOOL_TYPE_UNKNOWN, event.GetToolType(0));
407 } 410 }
408 411
409 TEST(MotionEventAuraTest, Flags) { 412 TEST(MotionEventAuraTest, Flags) {
410 int ids[] = {7, 11}; 413 int ids[] = {7, 11};
411 MotionEventAura event; 414 MotionEventAura event;
412 415
413 TouchEvent press0 = TouchWithType(ET_TOUCH_PRESSED, ids[0]); 416 TouchEvent press0 = TouchWithType(ET_TOUCH_PRESSED, ids[0]);
414 press0.set_flags(EF_CONTROL_DOWN); 417 press0.set_flags(EF_CONTROL_DOWN);
415 event.OnTouch(press0); 418 EXPECT_TRUE(event.OnTouch(press0));
416 EXPECT_EQ(EF_CONTROL_DOWN, event.GetFlags()); 419 EXPECT_EQ(EF_CONTROL_DOWN, event.GetFlags());
417 420
418 TouchEvent press1 = TouchWithType(ET_TOUCH_PRESSED, ids[1]); 421 TouchEvent press1 = TouchWithType(ET_TOUCH_PRESSED, ids[1]);
419 press1.set_flags(EF_CONTROL_DOWN | EF_CAPS_LOCK_DOWN); 422 press1.set_flags(EF_CONTROL_DOWN | EF_CAPS_LOCK_DOWN);
420 event.OnTouch(press1); 423 EXPECT_TRUE(event.OnTouch(press1));
421 EXPECT_EQ(EF_CONTROL_DOWN | EF_CAPS_LOCK_DOWN, event.GetFlags()); 424 EXPECT_EQ(EF_CONTROL_DOWN | EF_CAPS_LOCK_DOWN, event.GetFlags());
422 } 425 }
423 426
427 // Once crbug.com/446852 is fixed, we should ignore redundant presses.
428 TEST(MotionEventAuraTest, DoesntIgnoreRedundantPresses) {
429 int id = 7;
430 MotionEventAura event;
431 EXPECT_TRUE(event.OnTouch(TouchWithType(ET_TOUCH_PRESSED, id)));
432 EXPECT_TRUE(event.OnTouch(TouchWithType(ET_TOUCH_PRESSED, id)));
433 }
434
435 TEST(MotionEventAuraTest, IgnoresEventsWithoutPress) {
436 int id = 7;
437 MotionEventAura event;
438 EXPECT_FALSE(event.OnTouch(TouchWithType(ET_TOUCH_MOVED, id)));
439 }
440
441 TEST(MotionEventAuraTest, IgnoresStationaryMoves) {
442 int id = 7;
443 MotionEventAura event;
444 EXPECT_TRUE(event.OnTouch(TouchWithType(ET_TOUCH_PRESSED, id)));
445 TouchEvent move0 = TouchWithPosition(ET_TOUCH_PRESSED, id, 10, 20, 10, 20);
446 EXPECT_TRUE(event.OnTouch(move0));
447
448 TouchEvent move1 = TouchWithPosition(ET_TOUCH_MOVED, id, 11, 21, 11, 21);
449 EXPECT_TRUE(event.OnTouch(move1));
450 EXPECT_FALSE(event.OnTouch(move1));
451 }
452
424 } // namespace ui 453 } // namespace ui
OLDNEW
« no previous file with comments | « ui/events/gestures/motion_event_aura.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698