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

Unified Diff: ui/events/gesture_detection/gesture_provider_unittest.cc

Issue 223673006: Support GestureBegin and GestureEnd in ui::GestureProvider (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 9 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 side-by-side diff with in-line comments
Download patch
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..9381b47c8518324e34dd6474f42c38b00f6c4d05 100644
--- a/ui/events/gesture_detection/gesture_provider_unittest.cc
+++ b/ui/events/gesture_detection/gesture_provider_unittest.cc
@@ -41,6 +41,7 @@ GestureProvider::Config CreateDefaultConfig() {
// microseconds simply to allow several intermediate events to occur before
// the second tap at microsecond intervals.
sConfig.gesture_detector_config.double_tap_timeout = kOneMicrosecond * 4;
+ sConfig.send_aura_specific_gestures = true;
jdduke (slow) 2014/04/03 20:17:16 I'd prefer if this default'ed to false, and we had
tdresser 2014/04/03 21:14:41 Done.
return sConfig;
}
@@ -161,16 +162,16 @@ class GestureProviderTest : public testing::Test, public GestureProviderClient {
scroll_to_y);
EXPECT_TRUE(gesture_provider_->OnTouchEvent(event));
EXPECT_TRUE(gesture_provider_->IsScrollInProgress());
- EXPECT_TRUE(HasReceivedGesture(ET_GESTURE_SCROLL_BEGIN));
- EXPECT_EQ(ET_GESTURE_SCROLL_UPDATE, GetMostRecentGestureEventType());
- ASSERT_EQ(4U, GetReceivedGestureCount()) << "Only TapDown, TapCancel, "
- "ScrollBegin and ScrollBy "
- "should have been sent";
-
- EXPECT_EQ(ET_GESTURE_TAP_CANCEL, GetReceivedGesture(1).type);
- EXPECT_EQ(ET_GESTURE_SCROLL_BEGIN, GetReceivedGesture(2).type);
- EXPECT_EQ(event_time + kOneSecond, GetReceivedGesture(2).time)
+ ASSERT_EQ(5U, GetReceivedGestureCount())
+ << "Only GestureBegin, TapDown, TapCancel, ScrollBegin and ScrollBy "
+ << "should have been sent.";
+ EXPECT_EQ(ET_GESTURE_BEGIN, GetReceivedGesture(0).type);
+ EXPECT_EQ(ET_GESTURE_TAP_DOWN, GetReceivedGesture(1).type);
+ EXPECT_EQ(ET_GESTURE_TAP_CANCEL, GetReceivedGesture(2).type);
+ EXPECT_EQ(ET_GESTURE_SCROLL_BEGIN, GetReceivedGesture(3).type);
+ EXPECT_EQ(event_time + kOneSecond, GetReceivedGesture(3).time)
<< "ScrollBegin should have the time of the ACTION_MOVE";
+ EXPECT_EQ(ET_GESTURE_SCROLL_UPDATE, GetReceivedGesture(4).type);
event = ObtainMotionEvent(
event_time + kOneSecond, end_action_type, scroll_to_x, scroll_to_y);
@@ -298,15 +299,17 @@ TEST_F(GestureProviderTest, FlingEventSequence) {
kFakeCoordY * 5);
EXPECT_TRUE(gesture_provider_->OnTouchEvent(event));
EXPECT_TRUE(gesture_provider_->IsScrollInProgress());
- EXPECT_TRUE(HasReceivedGesture(ET_GESTURE_SCROLL_BEGIN));
- EXPECT_EQ(ET_GESTURE_SCROLL_UPDATE, GetMostRecentGestureEventType());
- ASSERT_EQ(4U, GetReceivedGestureCount());
- ASSERT_EQ(ET_GESTURE_SCROLL_BEGIN, GetReceivedGesture(2).type);
+ ASSERT_EQ(5U, GetReceivedGestureCount());
+ ASSERT_EQ(ET_GESTURE_BEGIN, GetReceivedGesture(0).type);
+ ASSERT_EQ(ET_GESTURE_TAP_DOWN, GetReceivedGesture(1).type);
+ ASSERT_EQ(ET_GESTURE_TAP_CANCEL, GetReceivedGesture(2).type);
+ ASSERT_EQ(ET_GESTURE_SCROLL_BEGIN, GetReceivedGesture(3).type);
+ ASSERT_EQ(ET_GESTURE_SCROLL_UPDATE, GetReceivedGesture(4).type);
// We don't want to take a dependency here on exactly how hints are calculated
// for a fling (eg. may depend on velocity), so just validate the direction.
- int hint_x = GetReceivedGesture(2).details.scroll_x_hint();
- int hint_y = GetReceivedGesture(2).details.scroll_y_hint();
+ int hint_x = GetReceivedGesture(3).details.scroll_x_hint();
+ int hint_y = GetReceivedGesture(3).details.scroll_y_hint();
EXPECT_TRUE(hint_x > 0 && hint_y > 0 && hint_x > hint_y)
<< "ScrollBegin hint should be in positive X axis";
@@ -499,7 +502,8 @@ TEST_F(GestureProviderTest, DoubleTapDragZoomCancelledOnSecondaryPointerDown) {
kFakeCoordX + 50,
kFakeCoordY + 50);
gesture_provider_->OnTouchEvent(event);
- EXPECT_EQ(gesture_count, GetReceivedGestureCount());
+ EXPECT_EQ(ET_GESTURE_END, GetMostRecentGestureEventType());
+ EXPECT_EQ(gesture_count + 1, GetReceivedGestureCount());
}
// Generate a scroll gesture and verify that the resulting scroll motion event
@@ -774,8 +778,9 @@ TEST_F(GestureProviderTest, NoDoubleTapWhenExplicitlyDisabled) {
MockMotionEvent event = ObtainMotionEvent(
event_time, MotionEvent::ACTION_DOWN, kFakeCoordX, kFakeCoordY);
EXPECT_TRUE(gesture_provider_->OnTouchEvent(event));
- EXPECT_EQ(1U, GetReceivedGestureCount());
+ EXPECT_EQ(2U, GetReceivedGestureCount());
EXPECT_EQ(ET_GESTURE_TAP_DOWN, GetMostRecentGestureEventType());
+ EXPECT_EQ(ET_GESTURE_BEGIN, GetReceivedGesture(0).type);
event = ObtainMotionEvent(event_time + kOneMicrosecond,
MotionEvent::ACTION_UP,
@@ -998,6 +1003,7 @@ TEST_F(GestureProviderTest, PinchZoom) {
ObtainMotionEvent(event_time, MotionEvent::ACTION_DOWN);
EXPECT_TRUE(gesture_provider_->OnTouchEvent(event));
EXPECT_EQ(ET_GESTURE_TAP_DOWN, GetMostRecentGestureEventType());
+ EXPECT_EQ(ET_GESTURE_BEGIN, GetReceivedGesture(0).type);
event = ObtainMotionEvent(event_time,
MotionEvent::ACTION_POINTER_DOWN,
@@ -1006,7 +1012,8 @@ TEST_F(GestureProviderTest, PinchZoom) {
secondary_coord_x,
secondary_coord_y);
gesture_provider_->OnTouchEvent(event);
- EXPECT_EQ(1U, GetReceivedGestureCount());
+ EXPECT_EQ(3U, GetReceivedGestureCount());
+ EXPECT_EQ(ET_GESTURE_BEGIN, GetReceivedGesture(2).type);
secondary_coord_x += 5 * scaled_touch_slop;
secondary_coord_y += 5 * scaled_touch_slop;

Powered by Google App Engine
This is Rietveld 408576698