| Index: ui/events/gesture_detection/gesture_provider_unittest.cc
|
| diff --git a/ui/events/gesture_detection/gesture_provider_unittest.cc b/ui/events/gesture_detection/gesture_provider_unittest.cc
|
| index 0392acc4084d8fa5cbf6122d1232bec91d662886..04ba3fcacf8afdae87dd5220e71bc646892041e0 100644
|
| --- a/ui/events/gesture_detection/gesture_provider_unittest.cc
|
| +++ b/ui/events/gesture_detection/gesture_provider_unittest.cc
|
| @@ -195,6 +195,7 @@ class GestureProviderTest : public testing::Test, public GestureProviderClient {
|
| EXPECT_TRUE(HasReceivedGesture(ET_GESTURE_SCROLL_END));
|
| EXPECT_EQ(ET_GESTURE_SCROLL_END, GetMostRecentGestureEventType());
|
| EXPECT_EQ(motion_event_id, GetMostRecentGestureEvent().motion_event_id);
|
| + EXPECT_EQ(1, GetMostRecentGestureEvent().details.touch_points());
|
| }
|
|
|
| static void RunTasksAndWait(base::TimeDelta delay) {
|
| @@ -222,6 +223,7 @@ TEST_F(GestureProviderTest, GestureTapTap) {
|
|
|
| EXPECT_TRUE(gesture_provider_->OnTouchEvent(event));
|
| EXPECT_EQ(ET_GESTURE_TAP_DOWN, GetMostRecentGestureEventType());
|
| + EXPECT_EQ(1, GetMostRecentGestureEvent().details.touch_points());
|
|
|
| event = ObtainMotionEvent(event_time + kOneMicrosecond,
|
| MotionEvent::ACTION_UP);
|
| @@ -234,6 +236,7 @@ TEST_F(GestureProviderTest, GestureTapTap) {
|
| EXPECT_EQ(10, GetMostRecentGestureEvent().details.bounding_box().height());
|
| EXPECT_EQ(1, GetMostRecentGestureEvent().details.tap_count());
|
| EXPECT_EQ(motion_event_id, GetMostRecentGestureEvent().motion_event_id);
|
| + EXPECT_EQ(1, GetMostRecentGestureEvent().details.touch_points());
|
| }
|
|
|
| // Verify that a DOWN followed shortly by an UP will trigger
|
| @@ -251,6 +254,7 @@ TEST_F(GestureProviderTest, GestureTapTapWithDelay) {
|
| EXPECT_TRUE(gesture_provider_->OnTouchEvent(event));
|
| EXPECT_EQ(ET_GESTURE_TAP_DOWN, GetMostRecentGestureEventType());
|
| EXPECT_EQ(motion_event_id, GetMostRecentGestureEvent().motion_event_id);
|
| + EXPECT_EQ(1, GetMostRecentGestureEvent().details.touch_points());
|
|
|
| event = ObtainMotionEvent(event_time + kOneMicrosecond,
|
| MotionEvent::ACTION_UP);
|
| @@ -263,6 +267,7 @@ TEST_F(GestureProviderTest, GestureTapTapWithDelay) {
|
| EXPECT_EQ(10, GetMostRecentGestureEvent().details.bounding_box().height());
|
| EXPECT_EQ(1, GetMostRecentGestureEvent().details.tap_count());
|
| EXPECT_EQ(motion_event_id, GetMostRecentGestureEvent().motion_event_id);
|
| + EXPECT_EQ(1, GetMostRecentGestureEvent().details.touch_points());
|
|
|
| EXPECT_FALSE(HasReceivedGesture(ET_GESTURE_TAP));
|
| }
|
| @@ -280,6 +285,7 @@ TEST_F(GestureProviderTest, GestureFlingAndCancelLongPress) {
|
| EXPECT_TRUE(gesture_provider_->OnTouchEvent(event));
|
| EXPECT_EQ(ET_GESTURE_TAP_DOWN, GetMostRecentGestureEventType());
|
| EXPECT_EQ(motion_event_id, GetMostRecentGestureEvent().motion_event_id);
|
| + EXPECT_EQ(1, GetMostRecentGestureEvent().details.touch_points());
|
|
|
| event = ObtainMotionEvent(event_time + delta_time,
|
| MotionEvent::ACTION_MOVE,
|
| @@ -297,6 +303,7 @@ TEST_F(GestureProviderTest, GestureFlingAndCancelLongPress) {
|
| EXPECT_TRUE(gesture_provider_->OnTouchEvent(event));
|
| EXPECT_EQ(ET_SCROLL_FLING_START, GetMostRecentGestureEventType());
|
| EXPECT_EQ(motion_event_id, GetMostRecentGestureEvent().motion_event_id);
|
| + EXPECT_EQ(1, GetMostRecentGestureEvent().details.touch_points());
|
| EXPECT_FALSE(HasReceivedGesture(ET_GESTURE_LONG_PRESS));
|
| }
|
|
|
| @@ -363,6 +370,7 @@ TEST_F(GestureProviderTest, FlingEventSequence) {
|
| EXPECT_FALSE(gesture_provider_->IsScrollInProgress());
|
| EXPECT_EQ(ET_SCROLL_FLING_START, GetMostRecentGestureEventType());
|
| EXPECT_EQ(motion_event_id, GetMostRecentGestureEvent().motion_event_id);
|
| + EXPECT_EQ(1, GetMostRecentGestureEvent().details.touch_points());
|
| EXPECT_FALSE(HasReceivedGesture(ET_GESTURE_SCROLL_END));
|
| EXPECT_EQ(event_time + delta_time * 2, GetMostRecentGestureEvent().time)
|
| << "FlingStart should have the time of the ACTION_UP";
|
| @@ -400,6 +408,7 @@ TEST_F(GestureProviderTest, NoTapAfterScrollBegins) {
|
| EXPECT_TRUE(gesture_provider_->OnTouchEvent(event));
|
|
|
| EXPECT_EQ(ET_GESTURE_TAP_DOWN, GetMostRecentGestureEventType());
|
| + EXPECT_EQ(1, GetMostRecentGestureEvent().details.touch_points());
|
| event = ObtainMotionEvent(event_time + kOneMicrosecond,
|
| MotionEvent::ACTION_MOVE,
|
| kFakeCoordX + 50,
|
| @@ -424,6 +433,7 @@ TEST_F(GestureProviderTest, DoubleTap) {
|
| EXPECT_TRUE(gesture_provider_->OnTouchEvent(event));
|
|
|
| EXPECT_EQ(ET_GESTURE_TAP_DOWN, GetMostRecentGestureEventType());
|
| + EXPECT_EQ(1, GetMostRecentGestureEvent().details.touch_points());
|
|
|
| event = ObtainMotionEvent(event_time + kOneMicrosecond,
|
| MotionEvent::ACTION_UP,
|
| @@ -431,6 +441,7 @@ TEST_F(GestureProviderTest, DoubleTap) {
|
| kFakeCoordY);
|
| gesture_provider_->OnTouchEvent(event);
|
| EXPECT_EQ(ET_GESTURE_TAP_UNCONFIRMED, GetMostRecentGestureEventType());
|
| + EXPECT_EQ(1, GetMostRecentGestureEvent().details.touch_points());
|
|
|
| event = ObtainMotionEvent(event_time + kOneMicrosecond * 2,
|
| MotionEvent::ACTION_DOWN,
|
| @@ -438,6 +449,7 @@ TEST_F(GestureProviderTest, DoubleTap) {
|
| kFakeCoordY);
|
| EXPECT_TRUE(gesture_provider_->OnTouchEvent(event));
|
| EXPECT_EQ(ET_GESTURE_TAP_DOWN, GetMostRecentGestureEventType());
|
| + EXPECT_EQ(1, GetMostRecentGestureEvent().details.touch_points());
|
|
|
| // Moving a very small amount of distance should not trigger the double tap
|
| // drag zoom mode.
|
| @@ -447,6 +459,7 @@ TEST_F(GestureProviderTest, DoubleTap) {
|
| kFakeCoordY + 1);
|
| EXPECT_TRUE(gesture_provider_->OnTouchEvent(event));
|
| EXPECT_EQ(ET_GESTURE_TAP_DOWN, GetMostRecentGestureEventType());
|
| + EXPECT_EQ(1, GetMostRecentGestureEvent().details.touch_points());
|
|
|
| event = ObtainMotionEvent(event_time + kOneMicrosecond * 3,
|
| MotionEvent::ACTION_UP,
|
| @@ -476,11 +489,13 @@ TEST_F(GestureProviderTest, DoubleTapDragZoomBasic) {
|
| kFakeCoordY);
|
| gesture_provider_->OnTouchEvent(event);
|
| EXPECT_EQ(ET_GESTURE_TAP_UNCONFIRMED, GetMostRecentGestureEventType());
|
| + EXPECT_EQ(1, GetMostRecentGestureEvent().details.touch_points());
|
|
|
| event = ObtainMotionEvent(
|
| down_time_2, MotionEvent::ACTION_DOWN, kFakeCoordX, kFakeCoordY);
|
| EXPECT_TRUE(gesture_provider_->OnTouchEvent(event));
|
| EXPECT_EQ(ET_GESTURE_TAP_DOWN, GetMostRecentGestureEventType());
|
| + EXPECT_EQ(1, GetMostRecentGestureEvent().details.touch_points());
|
|
|
| event = ObtainMotionEvent(down_time_2 + kOneMicrosecond,
|
| MotionEvent::ACTION_MOVE,
|
| @@ -548,6 +563,7 @@ TEST_F(GestureProviderTest, ScrollUpdateValues) {
|
| EXPECT_EQ(event_time + kOneMicrosecond * 2, gesture.time);
|
| EXPECT_EQ(kFakeCoordX - delta_x, gesture.x);
|
| EXPECT_EQ(kFakeCoordY - delta_y, gesture.y);
|
| + EXPECT_EQ(1, gesture.details.touch_points());
|
|
|
| // No horizontal delta because of snapping.
|
| EXPECT_EQ(0, gesture.details.scroll_x());
|
| @@ -589,6 +605,7 @@ TEST_F(GestureProviderTest, FractionalScroll) {
|
| GestureEventData gesture = GetMostRecentGestureEvent();
|
| EXPECT_EQ(ET_GESTURE_SCROLL_UPDATE, gesture.type);
|
| EXPECT_EQ(event_time + kOneMicrosecond * i, gesture.time);
|
| + EXPECT_EQ(1, gesture.details.touch_points());
|
|
|
| // Verify that the event co-ordinates are still the precise values we
|
| // supplied.
|
| @@ -678,10 +695,12 @@ TEST_F(GestureProviderTest, GestureLongTap) {
|
| RunTasksAndWait(long_press_timeout);
|
|
|
| EXPECT_EQ(ET_GESTURE_LONG_PRESS, GetMostRecentGestureEventType());
|
| + EXPECT_EQ(1, GetMostRecentGestureEvent().details.touch_points());
|
|
|
| event = ObtainMotionEvent(event_time + kOneSecond, MotionEvent::ACTION_UP);
|
| gesture_provider_->OnTouchEvent(event);
|
| EXPECT_EQ(ET_GESTURE_LONG_TAP, GetMostRecentGestureEventType());
|
| + EXPECT_EQ(1, GetMostRecentGestureEvent().details.touch_points());
|
| }
|
|
|
| TEST_F(GestureProviderTest, GestureLongPressDoesNotPreventScrolling) {
|
| @@ -696,6 +715,7 @@ TEST_F(GestureProviderTest, GestureLongPressDoesNotPreventScrolling) {
|
| RunTasksAndWait(long_press_timeout);
|
|
|
| EXPECT_EQ(ET_GESTURE_LONG_PRESS, GetMostRecentGestureEventType());
|
| + EXPECT_EQ(1, GetMostRecentGestureEvent().details.touch_points());
|
| event = ObtainMotionEvent(event_time + long_press_timeout,
|
| MotionEvent::ACTION_MOVE,
|
| kFakeCoordX + 100,
|
| @@ -703,6 +723,7 @@ TEST_F(GestureProviderTest, GestureLongPressDoesNotPreventScrolling) {
|
| gesture_provider_->OnTouchEvent(event);
|
|
|
| EXPECT_EQ(ET_GESTURE_SCROLL_UPDATE, GetMostRecentGestureEventType());
|
| + EXPECT_EQ(1, GetMostRecentGestureEvent().details.touch_points());
|
| EXPECT_TRUE(HasReceivedGesture(ET_GESTURE_SCROLL_BEGIN));
|
|
|
| event = ObtainMotionEvent(event_time + long_press_timeout,
|
| @@ -725,6 +746,7 @@ TEST_F(GestureProviderTest, NoGestureLongPressDuringDoubleTap) {
|
| kFakeCoordY);
|
| gesture_provider_->OnTouchEvent(event);
|
| EXPECT_EQ(ET_GESTURE_TAP_UNCONFIRMED, GetMostRecentGestureEventType());
|
| + EXPECT_EQ(1, GetMostRecentGestureEvent().details.touch_points());
|
|
|
| event = ObtainMotionEvent(event_time + kOneMicrosecond,
|
| MotionEvent::ACTION_DOWN,
|
| @@ -732,6 +754,7 @@ TEST_F(GestureProviderTest, NoGestureLongPressDuringDoubleTap) {
|
| kFakeCoordY);
|
| EXPECT_TRUE(gesture_provider_->OnTouchEvent(event));
|
| EXPECT_EQ(ET_GESTURE_TAP_DOWN, GetMostRecentGestureEventType());
|
| + EXPECT_EQ(1, GetMostRecentGestureEvent().details.touch_points());
|
| EXPECT_TRUE(gesture_provider_->IsDoubleTapInProgress());
|
|
|
| const base::TimeDelta long_press_timeout =
|
| @@ -748,6 +771,7 @@ TEST_F(GestureProviderTest, NoGestureLongPressDuringDoubleTap) {
|
| EXPECT_TRUE(gesture_provider_->OnTouchEvent(event));
|
| EXPECT_EQ(ET_GESTURE_PINCH_BEGIN, GetMostRecentGestureEventType());
|
| EXPECT_EQ(motion_event_id, GetMostRecentGestureEvent().motion_event_id);
|
| + EXPECT_EQ(1, GetMostRecentGestureEvent().details.touch_points());
|
| EXPECT_TRUE(gesture_provider_->IsDoubleTapInProgress());
|
|
|
| event = ObtainMotionEvent(event_time + long_press_timeout + kOneMicrosecond,
|
| @@ -758,6 +782,7 @@ TEST_F(GestureProviderTest, NoGestureLongPressDuringDoubleTap) {
|
| EXPECT_TRUE(gesture_provider_->OnTouchEvent(event));
|
| EXPECT_EQ(ET_GESTURE_SCROLL_END, GetMostRecentGestureEventType());
|
| EXPECT_EQ(motion_event_id, GetMostRecentGestureEvent().motion_event_id);
|
| + EXPECT_EQ(1, GetMostRecentGestureEvent().details.touch_points());
|
| EXPECT_FALSE(gesture_provider_->IsDoubleTapInProgress());
|
| }
|
|
|
| @@ -783,6 +808,7 @@ TEST_F(GestureProviderTest, TouchSlopRemovedFromScroll) {
|
| GestureEventData gesture = GetMostRecentGestureEvent();
|
| EXPECT_EQ(0, gesture.details.scroll_x());
|
| EXPECT_EQ(scroll_delta, gesture.details.scroll_y());
|
| + EXPECT_EQ(1, gesture.details.touch_points());
|
| }
|
|
|
| TEST_F(GestureProviderTest, NoDoubleTapWhenExplicitlyDisabled) {
|
| @@ -794,6 +820,7 @@ TEST_F(GestureProviderTest, NoDoubleTapWhenExplicitlyDisabled) {
|
| EXPECT_TRUE(gesture_provider_->OnTouchEvent(event));
|
| EXPECT_EQ(1U, GetReceivedGestureCount());
|
| EXPECT_EQ(ET_GESTURE_TAP_DOWN, GetMostRecentGestureEventType());
|
| + EXPECT_EQ(1, GetMostRecentGestureEvent().details.touch_points());
|
|
|
| event = ObtainMotionEvent(event_time + kOneMicrosecond,
|
| MotionEvent::ACTION_UP,
|
| @@ -801,6 +828,7 @@ TEST_F(GestureProviderTest, NoDoubleTapWhenExplicitlyDisabled) {
|
| kFakeCoordY);
|
| EXPECT_TRUE(gesture_provider_->OnTouchEvent(event));
|
| EXPECT_EQ(ET_GESTURE_TAP, GetMostRecentGestureEventType());
|
| + EXPECT_EQ(1, GetMostRecentGestureEvent().details.touch_points());
|
|
|
| event = ObtainMotionEvent(event_time + kOneMicrosecond * 2,
|
| MotionEvent::ACTION_DOWN,
|
| @@ -808,6 +836,7 @@ TEST_F(GestureProviderTest, NoDoubleTapWhenExplicitlyDisabled) {
|
| kFakeCoordY);
|
| EXPECT_TRUE(gesture_provider_->OnTouchEvent(event));
|
| EXPECT_EQ(ET_GESTURE_TAP_DOWN, GetMostRecentGestureEventType());
|
| + EXPECT_EQ(1, GetMostRecentGestureEvent().details.touch_points());
|
|
|
| event = ObtainMotionEvent(event_time + kOneMicrosecond * 3,
|
| MotionEvent::ACTION_UP,
|
| @@ -815,6 +844,7 @@ TEST_F(GestureProviderTest, NoDoubleTapWhenExplicitlyDisabled) {
|
| kFakeCoordY);
|
| EXPECT_TRUE(gesture_provider_->OnTouchEvent(event));
|
| EXPECT_EQ(ET_GESTURE_TAP, GetMostRecentGestureEventType());
|
| + EXPECT_EQ(1, GetMostRecentGestureEvent().details.touch_points());
|
| }
|
|
|
| TEST_F(GestureProviderTest, NoDoubleTapDragZoomWhenDisabledOnPlatform) {
|
| @@ -853,6 +883,7 @@ TEST_F(GestureProviderTest, NoDoubleTapDragZoomWhenDisabledOnPlatform) {
|
| kFakeCoordY + 200);
|
| EXPECT_TRUE(gesture_provider_->OnTouchEvent(event));
|
| EXPECT_EQ(ET_GESTURE_SCROLL_UPDATE, GetMostRecentGestureEventType());
|
| + EXPECT_EQ(1, GetMostRecentGestureEvent().details.touch_points());
|
| EXPECT_EQ(down_time_2 + kOneMicrosecond * 2,
|
| GetMostRecentGestureEvent().time);
|
| EXPECT_FALSE(HasReceivedGesture(ET_GESTURE_PINCH_UPDATE));
|
| @@ -904,6 +935,7 @@ TEST_F(GestureProviderTest, NoDoubleTapDragZoomWhenDisabledOnPage) {
|
| kFakeCoordY + 200);
|
| EXPECT_TRUE(gesture_provider_->OnTouchEvent(event));
|
| EXPECT_EQ(ET_GESTURE_SCROLL_UPDATE, GetMostRecentGestureEventType());
|
| + EXPECT_EQ(1, GetMostRecentGestureEvent().details.touch_points());
|
| EXPECT_FALSE(HasReceivedGesture(ET_GESTURE_PINCH_UPDATE));
|
|
|
| event = ObtainMotionEvent(down_time_2 + kOneMicrosecond * 3,
|
| @@ -942,6 +974,7 @@ TEST_F(GestureProviderTest, FixedPageScaleDuringDoubleTapDragZoom) {
|
| EXPECT_TRUE(gesture_provider_->OnTouchEvent(event));
|
| EXPECT_TRUE(HasReceivedGesture(ET_GESTURE_SCROLL_BEGIN));
|
| EXPECT_EQ(ET_GESTURE_PINCH_BEGIN, GetMostRecentGestureEventType());
|
| + EXPECT_EQ(1, GetMostRecentGestureEvent().details.touch_points());
|
|
|
| // Simulate setting a fixed page scale (or a mobile viewport);
|
| // this should not disrupt the current double-tap gesture.
|
| @@ -954,6 +987,7 @@ TEST_F(GestureProviderTest, FixedPageScaleDuringDoubleTapDragZoom) {
|
| kFakeCoordY + 200);
|
| EXPECT_TRUE(gesture_provider_->OnTouchEvent(event));
|
| EXPECT_EQ(ET_GESTURE_PINCH_UPDATE, GetMostRecentGestureEventType());
|
| + EXPECT_EQ(1, GetMostRecentGestureEvent().details.touch_points());
|
| EXPECT_LT(1.f, GetMostRecentGestureEvent().details.scale());
|
| event = ObtainMotionEvent(down_time_2 + kOneMicrosecond * 3,
|
| MotionEvent::ACTION_UP,
|
| @@ -962,6 +996,7 @@ TEST_F(GestureProviderTest, FixedPageScaleDuringDoubleTapDragZoom) {
|
| EXPECT_TRUE(gesture_provider_->OnTouchEvent(event));
|
| EXPECT_TRUE(HasReceivedGesture(ET_GESTURE_PINCH_END));
|
| EXPECT_EQ(ET_GESTURE_SCROLL_END, GetMostRecentGestureEventType());
|
| + EXPECT_EQ(1, GetMostRecentGestureEvent().details.touch_points());
|
|
|
| // The double-tap gesture has finished, but the page scale is fixed.
|
| // The same event sequence should not generate any double tap getsures.
|
| @@ -1023,6 +1058,7 @@ TEST_F(GestureProviderTest, PinchZoom) {
|
| event.SetId(++motion_event_id);
|
| EXPECT_TRUE(gesture_provider_->OnTouchEvent(event));
|
| EXPECT_EQ(ET_GESTURE_TAP_DOWN, GetMostRecentGestureEventType());
|
| + EXPECT_EQ(1, GetMostRecentGestureEvent().details.touch_points());
|
|
|
| // Toggling double-tap support should not take effect until the next sequence.
|
| gesture_provider_->SetDoubleTapSupportForPageEnabled(true);
|
| @@ -1037,6 +1073,7 @@ TEST_F(GestureProviderTest, PinchZoom) {
|
|
|
| gesture_provider_->OnTouchEvent(event);
|
| EXPECT_EQ(1U, GetReceivedGestureCount());
|
| + EXPECT_EQ(1, GetMostRecentGestureEvent().details.touch_points());
|
|
|
| secondary_coord_x += 5 * scaled_touch_slop;
|
| secondary_coord_y += 5 * scaled_touch_slop;
|
| @@ -1053,6 +1090,7 @@ TEST_F(GestureProviderTest, PinchZoom) {
|
|
|
| EXPECT_TRUE(gesture_provider_->OnTouchEvent(event));
|
| EXPECT_EQ(motion_event_id, GetMostRecentGestureEvent().motion_event_id);
|
| + EXPECT_EQ(2, GetMostRecentGestureEvent().details.touch_points());
|
| EXPECT_TRUE(HasReceivedGesture(ET_GESTURE_PINCH_BEGIN));
|
| EXPECT_TRUE(HasReceivedGesture(ET_GESTURE_SCROLL_BEGIN));
|
| EXPECT_TRUE(HasReceivedGesture(ET_GESTURE_SCROLL_UPDATE));
|
| @@ -1074,6 +1112,7 @@ TEST_F(GestureProviderTest, PinchZoom) {
|
| EXPECT_EQ(motion_event_id, GetMostRecentGestureEvent().motion_event_id);
|
| EXPECT_TRUE(HasReceivedGesture(ET_GESTURE_SCROLL_UPDATE));
|
| EXPECT_EQ(ET_GESTURE_PINCH_UPDATE, GetMostRecentGestureEventType());
|
| + EXPECT_EQ(2, GetMostRecentGestureEvent().details.touch_points());
|
| EXPECT_LT(1.f, GetMostRecentGestureEvent().details.scale());
|
|
|
| event = ObtainMotionEvent(event_time,
|
| @@ -1087,11 +1126,13 @@ TEST_F(GestureProviderTest, PinchZoom) {
|
| EXPECT_TRUE(gesture_provider_->OnTouchEvent(event));
|
| EXPECT_EQ(motion_event_id, GetMostRecentGestureEvent().motion_event_id);
|
| EXPECT_EQ(ET_GESTURE_PINCH_END, GetMostRecentGestureEventType());
|
| + EXPECT_EQ(2, GetMostRecentGestureEvent().details.touch_points());
|
| EXPECT_FALSE(HasReceivedGesture(ET_GESTURE_SCROLL_END));
|
|
|
| event = ObtainMotionEvent(event_time, MotionEvent::ACTION_UP);
|
| gesture_provider_->OnTouchEvent(event);
|
| EXPECT_EQ(ET_GESTURE_SCROLL_END, GetMostRecentGestureEventType());
|
| + EXPECT_EQ(1, GetMostRecentGestureEvent().details.touch_points());
|
| }
|
|
|
| // Verify that the timer of LONG_PRESS will be cancelled when scrolling begins
|
| @@ -1107,6 +1148,7 @@ TEST_F(GestureProviderTest, GesturesCancelledAfterLongPressCausesLostFocus) {
|
| GetLongPressTimeout() + GetShowPressTimeout() + kOneMicrosecond;
|
| RunTasksAndWait(long_press_timeout);
|
| EXPECT_EQ(ET_GESTURE_LONG_PRESS, GetMostRecentGestureEventType());
|
| + EXPECT_EQ(1, GetMostRecentGestureEvent().details.touch_points());
|
|
|
| EXPECT_TRUE(CancelActiveTouchSequence());
|
| EXPECT_FALSE(HasDownEvent());
|
| @@ -1132,10 +1174,10 @@ TEST_F(GestureProviderTest, CancelActiveTouchSequence) {
|
| EXPECT_TRUE(gesture_provider_->OnTouchEvent(event));
|
| EXPECT_EQ(ET_GESTURE_TAP_DOWN, GetMostRecentGestureEventType());
|
| EXPECT_EQ(motion_event_id, GetMostRecentGestureEvent().motion_event_id);
|
| + EXPECT_EQ(1, GetMostRecentGestureEvent().details.touch_points());
|
|
|
| ASSERT_TRUE(CancelActiveTouchSequence());
|
| EXPECT_FALSE(HasDownEvent());
|
| - EXPECT_EQ(motion_event_id, GetMostRecentGestureEvent().motion_event_id);
|
|
|
| // Subsequent MotionEvent's are dropped until ACTION_DOWN.
|
| event = ObtainMotionEvent(event_time + kOneMicrosecond,
|
| @@ -1150,6 +1192,7 @@ TEST_F(GestureProviderTest, CancelActiveTouchSequence) {
|
| MotionEvent::ACTION_DOWN);
|
| EXPECT_TRUE(gesture_provider_->OnTouchEvent(event));
|
| EXPECT_EQ(ET_GESTURE_TAP_DOWN, GetMostRecentGestureEventType());
|
| + EXPECT_EQ(1, GetMostRecentGestureEvent().details.touch_points());
|
| }
|
|
|
| TEST_F(GestureProviderTest, DoubleTapDragZoomCancelledOnSecondaryPointerDown) {
|
| @@ -1162,15 +1205,18 @@ TEST_F(GestureProviderTest, DoubleTapDragZoomCancelledOnSecondaryPointerDown) {
|
| ObtainMotionEvent(down_time_1, MotionEvent::ACTION_DOWN);
|
| EXPECT_TRUE(gesture_provider_->OnTouchEvent(event));
|
| EXPECT_EQ(ET_GESTURE_TAP_DOWN, GetMostRecentGestureEventType());
|
| + EXPECT_EQ(1, GetMostRecentGestureEvent().details.touch_points());
|
|
|
| event =
|
| ObtainMotionEvent(down_time_1 + kOneMicrosecond, MotionEvent::ACTION_UP);
|
| gesture_provider_->OnTouchEvent(event);
|
| EXPECT_EQ(ET_GESTURE_TAP_UNCONFIRMED, GetMostRecentGestureEventType());
|
| + EXPECT_EQ(1, GetMostRecentGestureEvent().details.touch_points());
|
|
|
| event = ObtainMotionEvent(down_time_2, MotionEvent::ACTION_DOWN);
|
| EXPECT_TRUE(gesture_provider_->OnTouchEvent(event));
|
| EXPECT_EQ(ET_GESTURE_TAP_DOWN, GetMostRecentGestureEventType());
|
| + EXPECT_EQ(1, GetMostRecentGestureEvent().details.touch_points());
|
|
|
| event = ObtainMotionEvent(down_time_2 + kOneMicrosecond,
|
| MotionEvent::ACTION_MOVE,
|
| @@ -1179,6 +1225,7 @@ TEST_F(GestureProviderTest, DoubleTapDragZoomCancelledOnSecondaryPointerDown) {
|
| EXPECT_TRUE(gesture_provider_->OnTouchEvent(event));
|
| EXPECT_TRUE(HasReceivedGesture(ET_GESTURE_SCROLL_BEGIN));
|
| EXPECT_EQ(ET_GESTURE_PINCH_BEGIN, GetMostRecentGestureEventType());
|
| + EXPECT_EQ(1, GetMostRecentGestureEvent().details.touch_points());
|
|
|
| event = ObtainMotionEvent(down_time_2 + kOneMicrosecond * 2,
|
| MotionEvent::ACTION_POINTER_DOWN,
|
| @@ -1188,6 +1235,7 @@ TEST_F(GestureProviderTest, DoubleTapDragZoomCancelledOnSecondaryPointerDown) {
|
| kFakeCoordY + 50);
|
| EXPECT_TRUE(gesture_provider_->OnTouchEvent(event));
|
| EXPECT_EQ(ET_GESTURE_PINCH_END, GetMostRecentGestureEventType());
|
| + EXPECT_EQ(2, GetMostRecentGestureEvent().details.touch_points());
|
|
|
| const size_t gesture_count = GetReceivedGestureCount();
|
| event = ObtainMotionEvent(down_time_2 + kOneMicrosecond * 3,
|
| @@ -1204,6 +1252,7 @@ TEST_F(GestureProviderTest, DoubleTapDragZoomCancelledOnSecondaryPointerDown) {
|
| EXPECT_TRUE(gesture_provider_->OnTouchEvent(event));
|
| EXPECT_EQ(gesture_count + 1, GetReceivedGestureCount());
|
| EXPECT_EQ(ET_GESTURE_SCROLL_END, GetMostRecentGestureEventType());
|
| + EXPECT_EQ(1, GetMostRecentGestureEvent().details.touch_points());
|
| }
|
|
|
| // Verify that gesture begin and gesture end events are dispatched correctly.
|
| @@ -1214,58 +1263,76 @@ TEST_F(GestureProviderTest, GestureBeginAndEnd) {
|
| EXPECT_EQ(0U, GetReceivedGestureCount());
|
| MockMotionEvent event =
|
| ObtainMotionEvent(event_time, MotionEvent::ACTION_DOWN);
|
| + event.pointer_count = 1;
|
| EXPECT_TRUE(gesture_provider_->OnTouchEvent(event));
|
| EXPECT_EQ(ET_GESTURE_BEGIN, GetReceivedGesture(0).type);
|
| EXPECT_EQ(ET_GESTURE_TAP_DOWN, GetMostRecentGestureEventType());
|
| EXPECT_EQ(2U, GetReceivedGestureCount());
|
| + EXPECT_EQ(1, GetMostRecentGestureEvent().details.touch_points());
|
|
|
| event = ObtainMotionEvent(event_time, MotionEvent::ACTION_POINTER_DOWN);
|
| + event.pointer_count = 2;
|
| EXPECT_TRUE(gesture_provider_->OnTouchEvent(event));
|
| EXPECT_EQ(ET_GESTURE_BEGIN, GetMostRecentGestureEventType());
|
| EXPECT_EQ(3U, GetReceivedGestureCount());
|
| + EXPECT_EQ(2, GetMostRecentGestureEvent().details.touch_points());
|
|
|
| event = ObtainMotionEvent(event_time, MotionEvent::ACTION_POINTER_DOWN);
|
| + event.pointer_count = 3;
|
| EXPECT_TRUE(gesture_provider_->OnTouchEvent(event));
|
| EXPECT_EQ(ET_GESTURE_BEGIN, GetMostRecentGestureEventType());
|
| EXPECT_EQ(4U, GetReceivedGestureCount());
|
| + EXPECT_EQ(3, GetMostRecentGestureEvent().details.touch_points());
|
|
|
| event = ObtainMotionEvent(event_time, MotionEvent::ACTION_POINTER_UP);
|
| + event.pointer_count = 2;
|
| EXPECT_TRUE(gesture_provider_->OnTouchEvent(event));
|
| EXPECT_EQ(ET_GESTURE_END, GetMostRecentGestureEventType());
|
| EXPECT_EQ(5U, GetReceivedGestureCount());
|
| + EXPECT_EQ(2, GetMostRecentGestureEvent().details.touch_points());
|
|
|
| event = ObtainMotionEvent(event_time, MotionEvent::ACTION_POINTER_DOWN);
|
| + event.pointer_count = 3;
|
| EXPECT_TRUE(gesture_provider_->OnTouchEvent(event));
|
| EXPECT_EQ(ET_GESTURE_BEGIN, GetMostRecentGestureEventType());
|
| EXPECT_EQ(6U, GetReceivedGestureCount());
|
| + EXPECT_EQ(3, GetMostRecentGestureEvent().details.touch_points());
|
|
|
| event = ObtainMotionEvent(event_time, MotionEvent::ACTION_POINTER_UP);
|
| + event.pointer_count = 2;
|
| EXPECT_TRUE(gesture_provider_->OnTouchEvent(event));
|
| EXPECT_EQ(ET_GESTURE_END, GetMostRecentGestureEventType());
|
| EXPECT_EQ(7U, GetReceivedGestureCount());
|
| + EXPECT_EQ(2, GetMostRecentGestureEvent().details.touch_points());
|
|
|
| event = ObtainMotionEvent(event_time, MotionEvent::ACTION_POINTER_UP);
|
| + event.pointer_count = 1;
|
| EXPECT_TRUE(gesture_provider_->OnTouchEvent(event));
|
| EXPECT_EQ(ET_GESTURE_END, GetMostRecentGestureEventType());
|
| EXPECT_EQ(8U, GetReceivedGestureCount());
|
| + EXPECT_EQ(1, GetMostRecentGestureEvent().details.touch_points());
|
|
|
| event = ObtainMotionEvent(event_time, MotionEvent::ACTION_UP);
|
| + event.pointer_count = 1;
|
| EXPECT_TRUE(gesture_provider_->OnTouchEvent(event));
|
| EXPECT_EQ(ET_GESTURE_END, GetMostRecentGestureEventType());
|
| EXPECT_EQ(9U, GetReceivedGestureCount());
|
| + EXPECT_EQ(1, GetMostRecentGestureEvent().details.touch_points());
|
|
|
| event = ObtainMotionEvent(event_time, MotionEvent::ACTION_DOWN);
|
| + event.pointer_count = 1;
|
| EXPECT_TRUE(gesture_provider_->OnTouchEvent(event));
|
| EXPECT_EQ(ET_GESTURE_BEGIN, GetReceivedGesture(9).type);
|
| EXPECT_EQ(ET_GESTURE_TAP_DOWN, GetMostRecentGestureEventType());
|
| EXPECT_EQ(11U, GetReceivedGestureCount());
|
| + EXPECT_EQ(1, GetMostRecentGestureEvent().details.touch_points());
|
|
|
| event = ObtainMotionEvent(event_time, MotionEvent::ACTION_CANCEL);
|
| + event.pointer_count = 1;
|
| EXPECT_TRUE(gesture_provider_->OnTouchEvent(event));
|
| EXPECT_EQ(ET_GESTURE_END, GetMostRecentGestureEventType());
|
| EXPECT_EQ(12U, GetReceivedGestureCount());
|
| -
|
| -
|
| + EXPECT_EQ(1, GetMostRecentGestureEvent().details.touch_points());
|
| }
|
|
|
| } // namespace ui
|
|
|