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 "base/basictypes.h" | 5 #include "base/basictypes.h" |
6 #include "base/logging.h" | 6 #include "base/logging.h" |
7 #include "base/memory/scoped_ptr.h" | 7 #include "base/memory/scoped_ptr.h" |
8 #include "base/message_loop/message_loop.h" | 8 #include "base/message_loop/message_loop.h" |
9 #include "base/time/time.h" | 9 #include "base/time/time.h" |
10 #include "testing/gtest/include/gtest/gtest.h" | 10 #include "testing/gtest/include/gtest/gtest.h" |
(...skipping 286 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
297 event.SetId(++motion_event_id); | 297 event.SetId(++motion_event_id); |
298 | 298 |
299 EXPECT_TRUE(gesture_provider_->OnTouchEvent(event)); | 299 EXPECT_TRUE(gesture_provider_->OnTouchEvent(event)); |
300 EXPECT_EQ(ET_GESTURE_TAP_DOWN, GetMostRecentGestureEventType()); | 300 EXPECT_EQ(ET_GESTURE_TAP_DOWN, GetMostRecentGestureEventType()); |
301 EXPECT_EQ(motion_event_id, GetMostRecentGestureEvent().motion_event_id); | 301 EXPECT_EQ(motion_event_id, GetMostRecentGestureEvent().motion_event_id); |
302 EXPECT_EQ(1, GetMostRecentGestureEvent().details.touch_points()); | 302 EXPECT_EQ(1, GetMostRecentGestureEvent().details.touch_points()); |
303 | 303 |
304 event = ObtainMotionEvent(event_time + delta_time, | 304 event = ObtainMotionEvent(event_time + delta_time, |
305 MotionEvent::ACTION_MOVE, | 305 MotionEvent::ACTION_MOVE, |
306 kFakeCoordX * 10, | 306 kFakeCoordX * 10, |
307 kFakeCoordY * 10); | 307 kFakeCoordY * 1.5); |
308 event.SetId(++motion_event_id); | 308 event.SetId(++motion_event_id); |
309 EXPECT_TRUE(gesture_provider_->OnTouchEvent(event)); | 309 EXPECT_TRUE(gesture_provider_->OnTouchEvent(event)); |
310 | 310 |
311 event = ObtainMotionEvent(event_time + delta_time * 2, | 311 event = ObtainMotionEvent(event_time + delta_time * 2, |
312 MotionEvent::ACTION_UP, | 312 MotionEvent::ACTION_UP, |
313 kFakeCoordX * 10, | 313 kFakeCoordX * 10, |
314 kFakeCoordY * 10); | 314 kFakeCoordY * 1.5); |
315 event.SetId(++motion_event_id); | 315 event.SetId(++motion_event_id); |
316 | 316 |
317 EXPECT_TRUE(gesture_provider_->OnTouchEvent(event)); | 317 EXPECT_TRUE(gesture_provider_->OnTouchEvent(event)); |
318 EXPECT_EQ(ET_SCROLL_FLING_START, GetMostRecentGestureEventType()); | 318 EXPECT_EQ(ET_SCROLL_FLING_START, GetMostRecentGestureEventType()); |
319 | |
320 EXPECT_EQ(8000, GetMostRecentGestureEvent().details.velocity_x()); | |
jdduke (slow)
2014/04/24 19:58:53
We should probably get 8000 using the |maximum_fli
| |
321 EXPECT_EQ(0, GetMostRecentGestureEvent().details.velocity_y()); | |
322 EXPECT_EQ(8000, GetMostRecentGestureEvent().details.velocity_x_ordinal()); | |
323 EXPECT_EQ(2400, GetMostRecentGestureEvent().details.velocity_y_ordinal()); | |
324 | |
319 EXPECT_EQ(motion_event_id, GetMostRecentGestureEvent().motion_event_id); | 325 EXPECT_EQ(motion_event_id, GetMostRecentGestureEvent().motion_event_id); |
320 EXPECT_EQ(1, GetMostRecentGestureEvent().details.touch_points()); | 326 EXPECT_EQ(1, GetMostRecentGestureEvent().details.touch_points()); |
321 EXPECT_FALSE(HasReceivedGesture(ET_GESTURE_LONG_PRESS)); | 327 EXPECT_FALSE(HasReceivedGesture(ET_GESTURE_LONG_PRESS)); |
322 EXPECT_EQ( | 328 EXPECT_EQ( |
323 BoundsForSingleMockTouchAtLocation(kFakeCoordX * 10, kFakeCoordY * 10), | 329 BoundsForSingleMockTouchAtLocation(kFakeCoordX * 10, kFakeCoordY * 1.5), |
324 GetMostRecentGestureEvent().details.bounding_box()); | 330 GetMostRecentGestureEvent().details.bounding_box()); |
325 } | 331 } |
326 | 332 |
327 // Verify that for a normal scroll the following events are sent: | 333 // Verify that for a normal scroll the following events are sent: |
328 // - ET_GESTURE_SCROLL_BEGIN | 334 // - ET_GESTURE_SCROLL_BEGIN |
329 // - ET_GESTURE_SCROLL_UPDATE | 335 // - ET_GESTURE_SCROLL_UPDATE |
330 // - ET_GESTURE_SCROLL_END | 336 // - ET_GESTURE_SCROLL_END |
331 TEST_F(GestureProviderTest, ScrollEventActionUpSequence) { | 337 TEST_F(GestureProviderTest, ScrollEventActionUpSequence) { |
332 CheckScrollEventSequenceForEndActionType(MotionEvent::ACTION_UP); | 338 CheckScrollEventSequenceForEndActionType(MotionEvent::ACTION_UP); |
333 } | 339 } |
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
380 event = ObtainMotionEvent(event_time + delta_time * 2, | 386 event = ObtainMotionEvent(event_time + delta_time * 2, |
381 MotionEvent::ACTION_UP, | 387 MotionEvent::ACTION_UP, |
382 kFakeCoordX * 10, | 388 kFakeCoordX * 10, |
383 kFakeCoordY * 10); | 389 kFakeCoordY * 10); |
384 event.SetId(++motion_event_id); | 390 event.SetId(++motion_event_id); |
385 | 391 |
386 EXPECT_TRUE(gesture_provider_->OnTouchEvent(event)); | 392 EXPECT_TRUE(gesture_provider_->OnTouchEvent(event)); |
387 EXPECT_FALSE(gesture_provider_->IsScrollInProgress()); | 393 EXPECT_FALSE(gesture_provider_->IsScrollInProgress()); |
388 EXPECT_EQ(ET_SCROLL_FLING_START, GetMostRecentGestureEventType()); | 394 EXPECT_EQ(ET_SCROLL_FLING_START, GetMostRecentGestureEventType()); |
389 EXPECT_EQ(motion_event_id, GetMostRecentGestureEvent().motion_event_id); | 395 EXPECT_EQ(motion_event_id, GetMostRecentGestureEvent().motion_event_id); |
396 | |
397 EXPECT_EQ(8000, GetMostRecentGestureEvent().details.velocity_x()); | |
398 EXPECT_EQ(8000, GetMostRecentGestureEvent().details.velocity_y()); | |
399 EXPECT_EQ(8000, GetMostRecentGestureEvent().details.velocity_x_ordinal()); | |
400 EXPECT_EQ(8000, GetMostRecentGestureEvent().details.velocity_y_ordinal()); | |
401 | |
390 EXPECT_EQ(1, GetMostRecentGestureEvent().details.touch_points()); | 402 EXPECT_EQ(1, GetMostRecentGestureEvent().details.touch_points()); |
391 EXPECT_FALSE(HasReceivedGesture(ET_GESTURE_SCROLL_END)); | 403 EXPECT_FALSE(HasReceivedGesture(ET_GESTURE_SCROLL_END)); |
392 EXPECT_EQ(event_time + delta_time * 2, GetMostRecentGestureEvent().time) | 404 EXPECT_EQ(event_time + delta_time * 2, GetMostRecentGestureEvent().time) |
393 << "FlingStart should have the time of the ACTION_UP"; | 405 << "FlingStart should have the time of the ACTION_UP"; |
394 } | 406 } |
395 | 407 |
396 TEST_F(GestureProviderTest, GestureCancelledWhenWindowFocusLost) { | 408 TEST_F(GestureProviderTest, GestureCancelledWhenWindowFocusLost) { |
397 const base::TimeTicks event_time = TimeTicks::Now(); | 409 const base::TimeTicks event_time = TimeTicks::Now(); |
398 | 410 |
399 MockMotionEvent event = | 411 MockMotionEvent event = |
(...skipping 185 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
585 ASSERT_LT(0U, GetReceivedGestureCount()); | 597 ASSERT_LT(0U, GetReceivedGestureCount()); |
586 GestureEventData gesture = GetMostRecentGestureEvent(); | 598 GestureEventData gesture = GetMostRecentGestureEvent(); |
587 EXPECT_EQ(ET_GESTURE_SCROLL_UPDATE, gesture.type); | 599 EXPECT_EQ(ET_GESTURE_SCROLL_UPDATE, gesture.type); |
588 EXPECT_EQ(event_time + kOneMicrosecond * 2, gesture.time); | 600 EXPECT_EQ(event_time + kOneMicrosecond * 2, gesture.time); |
589 EXPECT_EQ(kFakeCoordX - delta_x, gesture.x); | 601 EXPECT_EQ(kFakeCoordX - delta_x, gesture.x); |
590 EXPECT_EQ(kFakeCoordY - delta_y, gesture.y); | 602 EXPECT_EQ(kFakeCoordY - delta_y, gesture.y); |
591 EXPECT_EQ(1, gesture.details.touch_points()); | 603 EXPECT_EQ(1, gesture.details.touch_points()); |
592 | 604 |
593 // No horizontal delta because of snapping. | 605 // No horizontal delta because of snapping. |
594 EXPECT_EQ(0, gesture.details.scroll_x()); | 606 EXPECT_EQ(0, gesture.details.scroll_x()); |
607 EXPECT_EQ(-delta_x / 2, gesture.details.scroll_x_ordinal()); | |
595 EXPECT_EQ(-delta_y / 2, gesture.details.scroll_y()); | 608 EXPECT_EQ(-delta_y / 2, gesture.details.scroll_y()); |
jdduke (slow)
2014/04/24 19:58:53
Might as well round this out with
EXPECT_EQ(-del
| |
596 } | 609 } |
597 | 610 |
598 // Verify that fractional scroll deltas are rounded as expected and that | 611 // Verify that fractional scroll deltas are rounded as expected and that |
599 // fractional scrolling doesn't break scroll snapping. | 612 // fractional scrolling doesn't break scroll snapping. |
600 TEST_F(GestureProviderTest, FractionalScroll) { | 613 TEST_F(GestureProviderTest, FractionalScroll) { |
601 const float delta_x = 0.4f; | 614 const float delta_x = 0.4f; |
602 const float delta_y = 5.2f; | 615 const float delta_y = 5.2f; |
603 | 616 |
604 const base::TimeTicks event_time = TimeTicks::Now(); | 617 const base::TimeTicks event_time = TimeTicks::Now(); |
605 | 618 |
(...skipping 910 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
1516 | 1529 |
1517 event = ObtainMotionEvent(event_time, MotionEvent::ACTION_CANCEL); | 1530 event = ObtainMotionEvent(event_time, MotionEvent::ACTION_CANCEL); |
1518 event.pointer_count = 1; | 1531 event.pointer_count = 1; |
1519 EXPECT_TRUE(gesture_provider_->OnTouchEvent(event)); | 1532 EXPECT_TRUE(gesture_provider_->OnTouchEvent(event)); |
1520 EXPECT_EQ(ET_GESTURE_END, GetMostRecentGestureEventType()); | 1533 EXPECT_EQ(ET_GESTURE_END, GetMostRecentGestureEventType()); |
1521 EXPECT_EQ(12U, GetReceivedGestureCount()); | 1534 EXPECT_EQ(12U, GetReceivedGestureCount()); |
1522 EXPECT_EQ(1, GetMostRecentGestureEvent().details.touch_points()); | 1535 EXPECT_EQ(1, GetMostRecentGestureEvent().details.touch_points()); |
1523 } | 1536 } |
1524 | 1537 |
1525 } // namespace ui | 1538 } // namespace ui |
OLD | NEW |