Chromium Code Reviews| 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 1be9ec7fec30c6abbc50c8a0ff020d926f58e5a4..2e4f89c730f4a30abe363b23fab2f1bd227423f1 100644 |
| --- a/ui/events/gesture_detection/gesture_provider_unittest.cc |
| +++ b/ui/events/gesture_detection/gesture_provider_unittest.cc |
| @@ -1094,4 +1094,59 @@ TEST_F(GestureProviderTest, CancelActiveTouchSequence) { |
| EXPECT_EQ(ET_GESTURE_TAP_DOWN, GetMostRecentGestureEventType()); |
| } |
| +// Verify that gesture begin and gesture end events are dispatched correctly. |
| +TEST_F(GestureProviderTest, GestureBeginAndEnd) { |
| + gesture_provider_->SetBeginEndTypesEnabled(true); |
|
jdduke (slow)
2014/04/03 22:03:28
If possible, I'd prefer not to expose this flag ex
tdresser
2014/04/04 16:39:31
Done.
|
| + base::TimeTicks event_time = base::TimeTicks::Now(); |
| + |
| + EXPECT_EQ(0U, GetReceivedGestureCount()); |
| + MockMotionEvent event = |
| + ObtainMotionEvent(event_time, MotionEvent::ACTION_DOWN); |
| + 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()); |
| + |
| + event = ObtainMotionEvent(event_time, MotionEvent::ACTION_POINTER_DOWN); |
| + EXPECT_TRUE(gesture_provider_->OnTouchEvent(event)); |
| + EXPECT_EQ(ET_GESTURE_BEGIN, GetMostRecentGestureEventType()); |
| + EXPECT_EQ(3U, GetReceivedGestureCount()); |
| + |
| + event = ObtainMotionEvent(event_time, MotionEvent::ACTION_POINTER_DOWN); |
| + EXPECT_TRUE(gesture_provider_->OnTouchEvent(event)); |
| + EXPECT_EQ(ET_GESTURE_BEGIN, GetMostRecentGestureEventType()); |
| + EXPECT_EQ(4U, GetReceivedGestureCount()); |
| + |
| + event = ObtainMotionEvent(event_time, MotionEvent::ACTION_POINTER_UP); |
| + EXPECT_TRUE(gesture_provider_->OnTouchEvent(event)); |
| + EXPECT_EQ(ET_GESTURE_END, GetMostRecentGestureEventType()); |
| + EXPECT_EQ(5U, GetReceivedGestureCount()); |
| + |
| + event = ObtainMotionEvent(event_time, MotionEvent::ACTION_POINTER_DOWN); |
| + EXPECT_TRUE(gesture_provider_->OnTouchEvent(event)); |
| + EXPECT_EQ(ET_GESTURE_BEGIN, GetMostRecentGestureEventType()); |
| + EXPECT_EQ(6U, GetReceivedGestureCount()); |
| + |
| + event = ObtainMotionEvent(event_time, MotionEvent::ACTION_POINTER_UP); |
| + EXPECT_TRUE(gesture_provider_->OnTouchEvent(event)); |
| + EXPECT_EQ(ET_GESTURE_END, GetMostRecentGestureEventType()); |
| + EXPECT_EQ(7U, GetReceivedGestureCount()); |
| + |
| + event = ObtainMotionEvent(event_time, MotionEvent::ACTION_POINTER_UP); |
| + EXPECT_TRUE(gesture_provider_->OnTouchEvent(event)); |
| + EXPECT_EQ(ET_GESTURE_END, GetMostRecentGestureEventType()); |
| + EXPECT_EQ(8U, GetReceivedGestureCount()); |
| + |
| + event = ObtainMotionEvent(event_time, MotionEvent::ACTION_POINTER_UP); |
| + EXPECT_TRUE(gesture_provider_->OnTouchEvent(event)); |
| + EXPECT_EQ(ET_GESTURE_END, GetMostRecentGestureEventType()); |
| + EXPECT_EQ(9U, GetReceivedGestureCount()); |
| + |
| + event = ObtainMotionEvent(event_time, MotionEvent::ACTION_POINTER_DOWN); |
| + EXPECT_TRUE(gesture_provider_->OnTouchEvent(event)); |
| + EXPECT_EQ(ET_GESTURE_BEGIN, GetMostRecentGestureEventType()); |
| + EXPECT_EQ(10U, GetReceivedGestureCount()); |
| + |
|
jdduke (slow)
2014/04/03 22:03:28
I guess add an ACTION_CANCEL in here somewhere for
tdresser
2014/04/04 16:39:31
Done.
|
| +} |
| + |
| } // namespace ui |