OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "base/basictypes.h" | 5 #include "base/basictypes.h" |
6 #include "base/logging.h" | 6 #include "base/logging.h" |
7 #include "base/memory/scoped_ptr.h" | 7 #include "base/memory/scoped_ptr.h" |
8 #include "base/message_loop/message_loop.h" | 8 #include "base/message_loop/message_loop.h" |
9 #include "base/time/time.h" | 9 #include "base/time/time.h" |
10 #include "testing/gtest/include/gtest/gtest.h" | 10 #include "testing/gtest/include/gtest/gtest.h" |
(...skipping 1993 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2004 | 2004 |
2005 event = ObtainMotionEvent( | 2005 event = ObtainMotionEvent( |
2006 event_time, MotionEvent::ACTION_POINTER_DOWN, 1, 1, 2, 2); | 2006 event_time, MotionEvent::ACTION_POINTER_DOWN, 1, 1, 2, 2); |
2007 EXPECT_TRUE(gesture_provider_->OnTouchEvent(event)); | 2007 EXPECT_TRUE(gesture_provider_->OnTouchEvent(event)); |
2008 EXPECT_EQ(ET_GESTURE_BEGIN, GetMostRecentGestureEventType()); | 2008 EXPECT_EQ(ET_GESTURE_BEGIN, GetMostRecentGestureEventType()); |
2009 EXPECT_EQ(3U, GetReceivedGestureCount()); | 2009 EXPECT_EQ(3U, GetReceivedGestureCount()); |
2010 EXPECT_EQ(2, GetMostRecentGestureEvent().details.touch_points()); | 2010 EXPECT_EQ(2, GetMostRecentGestureEvent().details.touch_points()); |
2011 EXPECT_EQ(2, GetMostRecentGestureEvent().x); | 2011 EXPECT_EQ(2, GetMostRecentGestureEvent().x); |
2012 EXPECT_EQ(2, GetMostRecentGestureEvent().y); | 2012 EXPECT_EQ(2, GetMostRecentGestureEvent().y); |
2013 | 2013 |
2014 | |
2015 event = ObtainMotionEvent( | 2014 event = ObtainMotionEvent( |
2016 event_time, MotionEvent::ACTION_POINTER_DOWN, 1, 1, 2, 2, 3, 3); | 2015 event_time, MotionEvent::ACTION_POINTER_DOWN, 1, 1, 2, 2, 3, 3); |
2017 EXPECT_TRUE(gesture_provider_->OnTouchEvent(event)); | 2016 EXPECT_TRUE(gesture_provider_->OnTouchEvent(event)); |
2018 EXPECT_EQ(ET_GESTURE_BEGIN, GetMostRecentGestureEventType()); | 2017 EXPECT_EQ(ET_GESTURE_BEGIN, GetMostRecentGestureEventType()); |
2019 EXPECT_EQ(4U, GetReceivedGestureCount()); | 2018 EXPECT_EQ(4U, GetReceivedGestureCount()); |
2020 EXPECT_EQ(3, GetMostRecentGestureEvent().details.touch_points()); | 2019 EXPECT_EQ(3, GetMostRecentGestureEvent().details.touch_points()); |
2021 EXPECT_EQ(3, GetMostRecentGestureEvent().x); | 2020 EXPECT_EQ(3, GetMostRecentGestureEvent().x); |
2022 EXPECT_EQ(3, GetMostRecentGestureEvent().y); | 2021 EXPECT_EQ(3, GetMostRecentGestureEvent().y); |
2023 | 2022 |
2024 event = ObtainMotionEvent( | 2023 event = ObtainMotionEvent( |
2025 event_time, MotionEvent::ACTION_CANCEL, 1, 1, 2, 2, 3, 3); | 2024 event_time, MotionEvent::ACTION_CANCEL, 1, 1, 2, 2, 3, 3); |
2026 EXPECT_TRUE(gesture_provider_->OnTouchEvent(event)); | 2025 EXPECT_TRUE(gesture_provider_->OnTouchEvent(event)); |
2027 EXPECT_EQ(7U, GetReceivedGestureCount()); | 2026 EXPECT_EQ(5U, GetReceivedGestureCount()); |
2028 EXPECT_EQ(3, GetReceivedGesture(4).details.touch_points()); | 2027 EXPECT_EQ(3, GetReceivedGesture(4).details.touch_points()); |
2029 EXPECT_EQ(ET_GESTURE_END, GetReceivedGesture(4).type()); | 2028 EXPECT_EQ(ET_GESTURE_END, GetReceivedGesture(4).type()); |
2030 EXPECT_EQ(2, GetReceivedGesture(5).details.touch_points()); | 2029 EXPECT_EQ(1, GetMostRecentGestureEvent().x); |
2031 EXPECT_EQ(ET_GESTURE_END, GetReceivedGesture(5).type()); | 2030 EXPECT_EQ(1, GetMostRecentGestureEvent().y); |
2032 EXPECT_EQ(1, GetReceivedGesture(6).details.touch_points()); | 2031 |
2033 EXPECT_EQ(ET_GESTURE_END, GetReceivedGesture(6).type()); | 2032 event = ObtainMotionEvent( |
2034 EXPECT_EQ(1, GetReceivedGesture(4).x); | 2033 event_time, MotionEvent::ACTION_CANCEL, 1, 1, 3, 3); |
2035 EXPECT_EQ(1, GetReceivedGesture(4).y); | 2034 EXPECT_TRUE(gesture_provider_->OnTouchEvent(event)); |
2036 EXPECT_EQ(2, GetReceivedGesture(5).x); | 2035 EXPECT_EQ(6U, GetReceivedGestureCount()); |
2037 EXPECT_EQ(2, GetReceivedGesture(5).y); | 2036 EXPECT_EQ(2, GetMostRecentGestureEvent().details.touch_points()); |
2038 EXPECT_EQ(3, GetReceivedGesture(6).x); | 2037 EXPECT_EQ(ET_GESTURE_END, GetMostRecentGestureEvent().type()); |
2039 EXPECT_EQ(3, GetReceivedGesture(6).y); | 2038 EXPECT_EQ(1, GetMostRecentGestureEvent().x); |
| 2039 EXPECT_EQ(1, GetMostRecentGestureEvent().y); |
| 2040 |
| 2041 event = ObtainMotionEvent( |
| 2042 event_time, MotionEvent::ACTION_CANCEL, 3, 3); |
| 2043 EXPECT_TRUE(gesture_provider_->OnTouchEvent(event)); |
| 2044 EXPECT_EQ(1, GetMostRecentGestureEvent().details.touch_points()); |
| 2045 EXPECT_EQ(ET_GESTURE_END, GetMostRecentGestureEvent().type()); |
| 2046 EXPECT_EQ(3, GetMostRecentGestureEvent().x); |
| 2047 EXPECT_EQ(3, GetMostRecentGestureEvent().y); |
2040 } | 2048 } |
2041 | 2049 |
2042 // Test a simple two finger tap | 2050 // Test a simple two finger tap |
2043 TEST_F(GestureProviderTest, TwoFingerTap) { | 2051 TEST_F(GestureProviderTest, TwoFingerTap) { |
2044 // The time between ACTION_POINTER_DOWN and ACTION_POINTER_UP must be <= the | 2052 // The time between ACTION_POINTER_DOWN and ACTION_POINTER_UP must be <= the |
2045 // two finger tap delay. | 2053 // two finger tap delay. |
2046 EnableTwoFingerTap(kMaxTwoFingerTapSeparation, base::TimeDelta()); | 2054 EnableTwoFingerTap(kMaxTwoFingerTapSeparation, base::TimeDelta()); |
2047 const float scaled_touch_slop = GetTouchSlop(); | 2055 const float scaled_touch_slop = GetTouchSlop(); |
2048 | 2056 |
2049 base::TimeTicks event_time = base::TimeTicks::Now(); | 2057 base::TimeTicks event_time = base::TimeTicks::Now(); |
(...skipping 276 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2326 ObtainMotionEvent(event_time + kOneMicrosecond, MotionEvent::ACTION_UP); | 2334 ObtainMotionEvent(event_time + kOneMicrosecond, MotionEvent::ACTION_UP); |
2327 EXPECT_TRUE(gesture_provider_->OnTouchEvent(event)); | 2335 EXPECT_TRUE(gesture_provider_->OnTouchEvent(event)); |
2328 EXPECT_EQ(ET_GESTURE_TAP, GetMostRecentGestureEventType()); | 2336 EXPECT_EQ(ET_GESTURE_TAP, GetMostRecentGestureEventType()); |
2329 EXPECT_EQ(kMaxGestureBoundsLength, | 2337 EXPECT_EQ(kMaxGestureBoundsLength, |
2330 GetMostRecentGestureEvent().details.bounding_box_f().width()); | 2338 GetMostRecentGestureEvent().details.bounding_box_f().width()); |
2331 EXPECT_EQ(kMaxGestureBoundsLength, | 2339 EXPECT_EQ(kMaxGestureBoundsLength, |
2332 GetMostRecentGestureEvent().details.bounding_box_f().height()); | 2340 GetMostRecentGestureEvent().details.bounding_box_f().height()); |
2333 } | 2341 } |
2334 | 2342 |
2335 } // namespace ui | 2343 } // namespace ui |
OLD | NEW |