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

Side by Side Diff: ui/events/gesture_detection/gesture_provider_unittest.cc

Issue 393953012: Eager Gesture Recognition on Aura (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Rebase. Created 6 years, 4 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
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
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
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
OLDNEW
« no previous file with comments | « ui/events/gesture_detection/gesture_provider.cc ('k') | ui/events/gestures/gesture_provider_aura.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698