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 925f2b1efdd131d6ac8262213c78872d3401bda0..7417e7e9d70074833c6b8cf81443f8b039181c5c 100644 |
--- a/ui/events/gesture_detection/gesture_provider_unittest.cc |
+++ b/ui/events/gesture_detection/gesture_provider_unittest.cc |
@@ -130,7 +130,7 @@ class GestureProviderTest : public testing::Test, public GestureProviderClient { |
// GestureProviderClient |
virtual void OnGestureEvent(const GestureEventData& gesture) OVERRIDE { |
- if (gesture.type == ET_GESTURE_SCROLL_BEGIN) |
+ if (gesture.type() == ET_GESTURE_SCROLL_BEGIN) |
active_scroll_begin_event_.reset(new GestureEventData(gesture)); |
gestures_.push_back(gesture); |
} |
@@ -153,7 +153,7 @@ class GestureProviderTest : public testing::Test, public GestureProviderClient { |
bool HasReceivedGesture(EventType type) const { |
for (size_t i = 0; i < gestures_.size(); ++i) { |
- if (gestures_[i].type == type) |
+ if (gestures_[i].type() == type) |
return true; |
} |
return false; |
@@ -166,7 +166,7 @@ class GestureProviderTest : public testing::Test, public GestureProviderClient { |
EventType GetMostRecentGestureEventType() const { |
EXPECT_FALSE(gestures_.empty()); |
- return gestures_.back().type; |
+ return gestures_.back().type(); |
} |
size_t GetReceivedGestureCount() const { return gestures_.size(); } |
@@ -235,6 +235,12 @@ class GestureProviderTest : public testing::Test, public GestureProviderClient { |
SetUpWithConfig(config); |
} |
+ void SetMinGestureBoundsLength(float min_gesture_bound_length) { |
+ GestureProvider::Config config = GetDefaultConfig(); |
+ config.min_gesture_bounds_length = min_gesture_bound_length; |
+ SetUpWithConfig(config); |
+ } |
+ |
bool HasDownEvent() const { return gesture_provider_->current_down_event(); } |
protected: |
@@ -268,7 +274,7 @@ class GestureProviderTest : public testing::Test, public GestureProviderClient { |
"ScrollBegin and ScrollBy " |
"should have been sent"; |
- EXPECT_EQ(ET_GESTURE_SCROLL_BEGIN, GetReceivedGesture(1).type); |
+ EXPECT_EQ(ET_GESTURE_SCROLL_BEGIN, GetReceivedGesture(1).type()); |
EXPECT_EQ(motion_event_id, GetReceivedGesture(1).motion_event_id); |
EXPECT_EQ(event_time + kOneSecond, GetReceivedGesture(1).time) |
<< "ScrollBegin should have the time of the ACTION_MOVE"; |
@@ -372,7 +378,7 @@ class GestureProviderTest : public testing::Test, public GestureProviderClient { |
}; |
// Verify that a DOWN followed shortly by an UP will trigger a single tap. |
-TEST_F(GestureProviderTest, GestureTapTap) { |
+TEST_F(GestureProviderTest, GestureTap) { |
base::TimeTicks event_time = base::TimeTicks::Now(); |
int motion_event_id = 0; |
@@ -404,7 +410,7 @@ TEST_F(GestureProviderTest, GestureTapTap) { |
// Verify that a DOWN followed shortly by an UP will trigger |
// a ET_GESTURE_TAP_UNCONFIRMED event if double-tap is enabled. |
-TEST_F(GestureProviderTest, GestureTapTapWithDelay) { |
+TEST_F(GestureProviderTest, GestureTapWithDelay) { |
base::TimeTicks event_time = base::TimeTicks::Now(); |
int motion_event_id = 0; |
@@ -520,7 +526,7 @@ TEST_F(GestureProviderTest, FlingEventSequence) { |
EXPECT_EQ(ET_GESTURE_SCROLL_UPDATE, GetMostRecentGestureEventType()); |
EXPECT_EQ(motion_event_id, GetMostRecentGestureEvent().motion_event_id); |
ASSERT_EQ(3U, GetReceivedGestureCount()); |
- ASSERT_EQ(ET_GESTURE_SCROLL_BEGIN, GetReceivedGesture(1).type); |
+ ASSERT_EQ(ET_GESTURE_SCROLL_BEGIN, GetReceivedGesture(1).type()); |
EXPECT_EQ(motion_event_id, GetReceivedGesture(1).motion_event_id); |
// We don't want to take a dependency here on exactly how hints are calculated |
@@ -638,7 +644,7 @@ TEST_F(GestureProviderTest, DoubleTap) { |
EXPECT_TRUE(gesture_provider_->OnTouchEvent(event)); |
const GestureEventData& double_tap = GetMostRecentGestureEvent(); |
- EXPECT_EQ(ET_GESTURE_DOUBLE_TAP, double_tap.type); |
+ EXPECT_EQ(ET_GESTURE_DOUBLE_TAP, double_tap.type()); |
// Ensure tap details have been set. |
EXPECT_EQ(10, double_tap.details.bounding_box().width()); |
EXPECT_EQ(10, double_tap.details.bounding_box().height()); |
@@ -737,7 +743,7 @@ TEST_F(GestureProviderTest, ScrollUpdateValues) { |
// Make sure the reported gesture event has all the expected details. |
ASSERT_LT(0U, GetReceivedGestureCount()); |
GestureEventData gesture = GetMostRecentGestureEvent(); |
- EXPECT_EQ(ET_GESTURE_SCROLL_UPDATE, gesture.type); |
+ EXPECT_EQ(ET_GESTURE_SCROLL_UPDATE, gesture.type()); |
EXPECT_EQ(event_time + kOneMicrosecond * 2, gesture.time); |
EXPECT_EQ(kFakeCoordX - delta_x, gesture.x); |
EXPECT_EQ(kFakeCoordY - delta_y, gesture.y); |
@@ -781,7 +787,7 @@ TEST_F(GestureProviderTest, FractionalScroll) { |
ASSERT_LT(0U, GetReceivedGestureCount()); |
GestureEventData gesture = GetMostRecentGestureEvent(); |
- EXPECT_EQ(ET_GESTURE_SCROLL_UPDATE, gesture.type); |
+ EXPECT_EQ(ET_GESTURE_SCROLL_UPDATE, gesture.type()); |
EXPECT_EQ(event_time + kOneMicrosecond * i, gesture.time); |
EXPECT_EQ(1, gesture.details.touch_points()); |
@@ -1732,7 +1738,7 @@ TEST_F(GestureProviderTest, GestureBeginAndEnd) { |
ObtainMotionEvent(event_time, MotionEvent::ACTION_DOWN, 1, 1); |
event.pointer_count = 1; |
EXPECT_TRUE(gesture_provider_->OnTouchEvent(event)); |
- EXPECT_EQ(ET_GESTURE_BEGIN, GetReceivedGesture(0).type); |
+ 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()); |
@@ -1826,7 +1832,7 @@ TEST_F(GestureProviderTest, GestureBeginAndEndOnCancel) { |
ObtainMotionEvent(event_time, MotionEvent::ACTION_DOWN, 1, 1); |
event.pointer_count = 1; |
EXPECT_TRUE(gesture_provider_->OnTouchEvent(event)); |
- EXPECT_EQ(ET_GESTURE_BEGIN, GetReceivedGesture(0).type); |
+ 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()); |
@@ -1865,11 +1871,11 @@ TEST_F(GestureProviderTest, GestureBeginAndEndOnCancel) { |
EXPECT_TRUE(gesture_provider_->OnTouchEvent(event)); |
EXPECT_EQ(7U, GetReceivedGestureCount()); |
EXPECT_EQ(3, GetReceivedGesture(4).details.touch_points()); |
- EXPECT_EQ(ET_GESTURE_END, GetReceivedGesture(4).details.type()); |
+ EXPECT_EQ(ET_GESTURE_END, GetReceivedGesture(4).type()); |
EXPECT_EQ(2, GetReceivedGesture(5).details.touch_points()); |
- EXPECT_EQ(ET_GESTURE_END, GetReceivedGesture(5).details.type()); |
+ EXPECT_EQ(ET_GESTURE_END, GetReceivedGesture(5).type()); |
EXPECT_EQ(1, GetReceivedGesture(6).details.touch_points()); |
- EXPECT_EQ(ET_GESTURE_END, GetReceivedGesture(6).details.type()); |
+ EXPECT_EQ(ET_GESTURE_END, GetReceivedGesture(6).type()); |
EXPECT_EQ(1, GetReceivedGesture(4).x); |
EXPECT_EQ(1, GetReceivedGesture(4).y); |
EXPECT_EQ(2, GetReceivedGesture(5).x); |
@@ -1921,9 +1927,9 @@ TEST_F(GestureProviderTest, TwoFingerTap) { |
0); |
EXPECT_TRUE(gesture_provider_->OnTouchEvent(event)); |
- EXPECT_EQ(ET_GESTURE_TAP_DOWN, GetReceivedGesture(0).type); |
- EXPECT_EQ(ET_GESTURE_SCROLL_BEGIN, GetReceivedGesture(1).type); |
- EXPECT_EQ(ET_GESTURE_TWO_FINGER_TAP, GetReceivedGesture(2).type); |
+ EXPECT_EQ(ET_GESTURE_TAP_DOWN, GetReceivedGesture(0).type()); |
+ EXPECT_EQ(ET_GESTURE_SCROLL_BEGIN, GetReceivedGesture(1).type()); |
+ EXPECT_EQ(ET_GESTURE_TWO_FINGER_TAP, GetReceivedGesture(2).type()); |
EXPECT_EQ(3U, GetReceivedGestureCount()); |
EXPECT_EQ(kMockTouchRadius * 2, |
@@ -1966,8 +1972,8 @@ TEST_F(GestureProviderTest, TwoFingerTapCancelledByFingerMovement) { |
kFakeCoordY); |
EXPECT_TRUE(gesture_provider_->OnTouchEvent(event)); |
- EXPECT_EQ(ET_GESTURE_TAP_DOWN, GetReceivedGesture(0).type); |
- EXPECT_EQ(ET_GESTURE_SCROLL_BEGIN, GetReceivedGesture(1).type); |
+ EXPECT_EQ(ET_GESTURE_TAP_DOWN, GetReceivedGesture(0).type()); |
+ EXPECT_EQ(ET_GESTURE_SCROLL_BEGIN, GetReceivedGesture(1).type()); |
EXPECT_EQ(2U, GetReceivedGestureCount()); |
} |
@@ -2003,7 +2009,7 @@ TEST_F(GestureProviderTest, TwoFingerTapCancelledByDelay) { |
kFakeCoordY); |
EXPECT_TRUE(gesture_provider_->OnTouchEvent(event)); |
- EXPECT_EQ(ET_GESTURE_TAP_DOWN, GetReceivedGesture(0).type); |
+ EXPECT_EQ(ET_GESTURE_TAP_DOWN, GetReceivedGesture(0).type()); |
EXPECT_EQ(1U, GetReceivedGestureCount()); |
} |
@@ -2033,7 +2039,7 @@ TEST_F(GestureProviderTest, TwoFingerTapCancelledByDistanceBetweenPointers) { |
kFakeCoordY); |
EXPECT_TRUE(gesture_provider_->OnTouchEvent(event)); |
- EXPECT_EQ(ET_GESTURE_TAP_DOWN, GetReceivedGesture(0).type); |
+ EXPECT_EQ(ET_GESTURE_TAP_DOWN, GetReceivedGesture(0).type()); |
EXPECT_EQ(1U, GetReceivedGestureCount()); |
} |
@@ -2118,4 +2124,31 @@ TEST_F(GestureProviderTest, PinchZoomWithThreshold) { |
EXPECT_EQ(2, GetMostRecentGestureEvent().details.touch_points()); |
} |
+// Verify that the min gesture bound setting is honored. |
+TEST_F(GestureProviderTest, MinGestureBoundsLength) { |
+ const float kMinGestureBoundsLength = 10.f * kMockTouchRadius; |
+ SetMinGestureBoundsLength(kMinGestureBoundsLength); |
+ gesture_provider_->SetDoubleTapSupportForPlatformEnabled(false); |
+ |
+ base::TimeTicks event_time = base::TimeTicks::Now(); |
+ MockMotionEvent event = |
+ ObtainMotionEvent(event_time, MotionEvent::ACTION_DOWN); |
+ EXPECT_TRUE(gesture_provider_->OnTouchEvent(event)); |
+ |
+ EXPECT_EQ(ET_GESTURE_TAP_DOWN, GetMostRecentGestureEventType()); |
+ EXPECT_EQ(kMinGestureBoundsLength, |
+ GetMostRecentGestureEvent().details.bounding_box_f().width()); |
+ EXPECT_EQ(kMinGestureBoundsLength, |
+ GetMostRecentGestureEvent().details.bounding_box_f().height()); |
+ |
+ event = |
+ ObtainMotionEvent(event_time + kOneMicrosecond, MotionEvent::ACTION_UP); |
+ EXPECT_TRUE(gesture_provider_->OnTouchEvent(event)); |
+ EXPECT_EQ(ET_GESTURE_TAP, GetMostRecentGestureEventType()); |
+ EXPECT_EQ(kMinGestureBoundsLength, |
+ GetMostRecentGestureEvent().details.bounding_box_f().width()); |
+ EXPECT_EQ(kMinGestureBoundsLength, |
+ GetMostRecentGestureEvent().details.bounding_box_f().height()); |
+} |
+ |
} // namespace ui |