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 821 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
832 ASSERT_LT(0U, GetReceivedGestureCount()); | 832 ASSERT_LT(0U, GetReceivedGestureCount()); |
833 GestureEventData gesture = GetMostRecentGestureEvent(); | 833 GestureEventData gesture = GetMostRecentGestureEvent(); |
834 EXPECT_EQ(ET_GESTURE_SCROLL_UPDATE, gesture.type()); | 834 EXPECT_EQ(ET_GESTURE_SCROLL_UPDATE, gesture.type()); |
835 EXPECT_EQ(event_time + kOneMicrosecond * 2, gesture.time); | 835 EXPECT_EQ(event_time + kOneMicrosecond * 2, gesture.time); |
836 EXPECT_EQ(kFakeCoordX - delta_x, gesture.x); | 836 EXPECT_EQ(kFakeCoordX - delta_x, gesture.x); |
837 EXPECT_EQ(kFakeCoordY - delta_y, gesture.y); | 837 EXPECT_EQ(kFakeCoordY - delta_y, gesture.y); |
838 EXPECT_EQ(kFakeCoordX - delta_x + raw_offset_x, gesture.raw_x); | 838 EXPECT_EQ(kFakeCoordX - delta_x + raw_offset_x, gesture.raw_x); |
839 EXPECT_EQ(kFakeCoordY - delta_y + raw_offset_y, gesture.raw_y); | 839 EXPECT_EQ(kFakeCoordY - delta_y + raw_offset_y, gesture.raw_y); |
840 EXPECT_EQ(1, gesture.details.touch_points()); | 840 EXPECT_EQ(1, gesture.details.touch_points()); |
841 | 841 |
842 // No horizontal delta because of snapping. | 842 EXPECT_EQ(-delta_x / 2, gesture.details.scroll_x()); |
843 EXPECT_EQ(0, gesture.details.scroll_x()); | |
844 EXPECT_EQ(-delta_y / 2, gesture.details.scroll_y()); | 843 EXPECT_EQ(-delta_y / 2, gesture.details.scroll_y()); |
| 844 EXPECT_EQ(GestureEventDetails::ScrollRailState::Vertical, |
| 845 gesture.details.scroll_rail_state()); |
845 } | 846 } |
846 | 847 |
847 // Verify that fractional scroll deltas are rounded as expected and that | 848 // Verify that fractional scroll deltas are rounded as expected and that |
848 // fractional scrolling doesn't break scroll snapping. | 849 // fractional scrolling doesn't break scroll snapping. |
849 TEST_F(GestureProviderTest, FractionalScroll) { | 850 TEST_F(GestureProviderTest, FractionalScroll) { |
850 const float delta_x = 0.4f; | 851 const float delta_x = 0.4f; |
851 const float delta_y = 5.2f; | 852 const float delta_y = 5.2f; |
852 | 853 |
853 const base::TimeTicks event_time = TimeTicks::Now(); | 854 const base::TimeTicks event_time = TimeTicks::Now(); |
854 | 855 |
(...skipping 29 matching lines...) Expand all Loading... |
884 // Verify that the event co-ordinates are still the precise values we | 885 // Verify that the event co-ordinates are still the precise values we |
885 // supplied. | 886 // supplied. |
886 EXPECT_EQ(kFakeCoordX + delta_x * i, gesture.x); | 887 EXPECT_EQ(kFakeCoordX + delta_x * i, gesture.x); |
887 EXPECT_FLOAT_EQ(kFakeCoordY + delta_y * i, gesture.y); | 888 EXPECT_FLOAT_EQ(kFakeCoordY + delta_y * i, gesture.y); |
888 | 889 |
889 // Verify that we're scrolling vertically by the expected amount | 890 // Verify that we're scrolling vertically by the expected amount |
890 // (modulo rounding). | 891 // (modulo rounding). |
891 EXPECT_GE(gesture.details.scroll_y(), (int)delta_y); | 892 EXPECT_GE(gesture.details.scroll_y(), (int)delta_y); |
892 EXPECT_LE(gesture.details.scroll_y(), ((int)delta_y) + 1); | 893 EXPECT_LE(gesture.details.scroll_y(), ((int)delta_y) + 1); |
893 | 894 |
894 // And that there has been no horizontal motion at all. | 895 // And that there has been very little horizontal motion. |
895 EXPECT_EQ(0, gesture.details.scroll_x()); | 896 EXPECT_GT(gesture.details.scroll_x(), 0); |
| 897 EXPECT_LT(gesture.details.scroll_x(), 0.5); |
| 898 EXPECT_EQ(GestureEventDetails::ScrollRailState::Vertical, |
| 899 gesture.details.scroll_rail_state()); |
896 } | 900 } |
897 } | 901 } |
898 | 902 |
899 // Generate a scroll gesture and verify that the resulting scroll begin event | 903 // Generate a scroll gesture and verify that the resulting scroll begin event |
900 // has the expected hint values. | 904 // has the expected hint values. |
901 TEST_F(GestureProviderTest, ScrollBeginValues) { | 905 TEST_F(GestureProviderTest, ScrollBeginValues) { |
902 const float delta_x = 13; | 906 const float delta_x = 13; |
903 const float delta_y = 89; | 907 const float delta_y = 89; |
904 | 908 |
905 const base::TimeTicks event_time = TimeTicks::Now(); | 909 const base::TimeTicks event_time = TimeTicks::Now(); |
(...skipping 1614 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2520 EXPECT_TRUE(gesture_provider_->OnTouchEvent(event)); | 2524 EXPECT_TRUE(gesture_provider_->OnTouchEvent(event)); |
2521 EXPECT_EQ(ET_GESTURE_TAP, GetMostRecentGestureEventType()); | 2525 EXPECT_EQ(ET_GESTURE_TAP, GetMostRecentGestureEventType()); |
2522 | 2526 |
2523 EXPECT_EQ(1, GetMostRecentGestureEvent().details.tap_count()); | 2527 EXPECT_EQ(1, GetMostRecentGestureEvent().details.tap_count()); |
2524 EXPECT_EQ(1, GetMostRecentGestureEvent().details.touch_points()); | 2528 EXPECT_EQ(1, GetMostRecentGestureEvent().details.touch_points()); |
2525 EXPECT_EQ(gfx::RectF(0, 0, 20, 20), | 2529 EXPECT_EQ(gfx::RectF(0, 0, 20, 20), |
2526 GetMostRecentGestureEvent().details.bounding_box()); | 2530 GetMostRecentGestureEvent().details.bounding_box()); |
2527 } | 2531 } |
2528 | 2532 |
2529 } // namespace ui | 2533 } // namespace ui |
OLD | NEW |