| 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..e25fd4e5d3dff24f22780eeaa9460af039437802 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 SetMinGestureBoundLength(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, MinGestureBoundLength) {
|
| + const float kMinGestureBoundLength = 10.f * kMockTouchRadius;
|
| + SetMinGestureBoundLength(kMinGestureBoundLength);
|
| + 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(kMinGestureBoundLength,
|
| + GetMostRecentGestureEvent().details.bounding_box_f().width());
|
| + EXPECT_EQ(kMinGestureBoundLength,
|
| + 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(kMinGestureBoundLength,
|
| + GetMostRecentGestureEvent().details.bounding_box_f().width());
|
| + EXPECT_EQ(kMinGestureBoundLength,
|
| + GetMostRecentGestureEvent().details.bounding_box_f().height());
|
| +}
|
| +
|
| } // namespace ui
|
|
|