Index: ui/events/gestures/motion_event_aura_unittest.cc |
diff --git a/ui/events/gestures/motion_event_aura_unittest.cc b/ui/events/gestures/motion_event_aura_unittest.cc |
index d1fdadf906fc452ab97db0874a618c3baa991d3c..b1ce02783653352624f428c080a0b9d9a4fad79f 100644 |
--- a/ui/events/gestures/motion_event_aura_unittest.cc |
+++ b/ui/events/gestures/motion_event_aura_unittest.cc |
@@ -79,20 +79,20 @@ TEST(MotionEventAuraTest, PointerCountAndIds) { |
EXPECT_EQ(0U, event.GetPointerCount()); |
TouchEvent press0 = TouchWithType(ET_TOUCH_PRESSED, ids[0]); |
- event.OnTouch(press0); |
+ EXPECT_TRUE(event.OnTouch(press0)); |
EXPECT_EQ(1U, event.GetPointerCount()); |
EXPECT_EQ(ids[0], event.GetPointerId(0)); |
TouchEvent press1 = TouchWithType(ET_TOUCH_PRESSED, ids[1]); |
- event.OnTouch(press1); |
+ EXPECT_TRUE(event.OnTouch(press1)); |
EXPECT_EQ(2U, event.GetPointerCount()); |
EXPECT_EQ(ids[0], event.GetPointerId(0)); |
EXPECT_EQ(ids[1], event.GetPointerId(1)); |
TouchEvent press2 = TouchWithType(ET_TOUCH_PRESSED, ids[2]); |
- event.OnTouch(press2); |
+ EXPECT_TRUE(event.OnTouch(press2)); |
EXPECT_EQ(3U, event.GetPointerCount()); |
EXPECT_EQ(ids[0], event.GetPointerId(0)); |
@@ -100,7 +100,7 @@ TEST(MotionEventAuraTest, PointerCountAndIds) { |
EXPECT_EQ(ids[2], event.GetPointerId(2)); |
TouchEvent release1 = TouchWithType(ET_TOUCH_RELEASED, ids[1]); |
- event.OnTouch(release1); |
+ EXPECT_TRUE(event.OnTouch(release1)); |
event.CleanupRemovedTouchPoints(release1); |
EXPECT_EQ(2U, event.GetPointerCount()); |
@@ -116,14 +116,14 @@ TEST(MotionEventAuraTest, PointerCountAndIds) { |
EXPECT_EQ(test::ToString(event), test::ToString(*clone)); |
TouchEvent release0 = TouchWithType(ET_TOUCH_RELEASED, ids[0]); |
- event.OnTouch(release0); |
+ EXPECT_TRUE(event.OnTouch(release0)); |
event.CleanupRemovedTouchPoints(release0); |
EXPECT_EQ(1U, event.GetPointerCount()); |
EXPECT_EQ(ids[2], event.GetPointerId(0)); |
TouchEvent release2 = TouchWithType(ET_TOUCH_RELEASED, ids[2]); |
- event.OnTouch(release2); |
+ EXPECT_TRUE(event.OnTouch(release2)); |
event.CleanupRemovedTouchPoints(release2); |
EXPECT_EQ(0U, event.GetPointerCount()); |
} |
@@ -137,29 +137,29 @@ TEST(MotionEventAuraTest, GetActionIndexAfterRemoval) { |
EXPECT_EQ(0U, event.GetPointerCount()); |
TouchEvent press0 = TouchWithType(ET_TOUCH_PRESSED, ids[0]); |
- event.OnTouch(press0); |
+ EXPECT_TRUE(event.OnTouch(press0)); |
TouchEvent press1 = TouchWithType(ET_TOUCH_PRESSED, ids[1]); |
- event.OnTouch(press1); |
+ EXPECT_TRUE(event.OnTouch(press1)); |
EXPECT_EQ(1, event.GetActionIndex()); |
TouchEvent press2 = TouchWithType(ET_TOUCH_PRESSED, ids[2]); |
- event.OnTouch(press2); |
+ EXPECT_TRUE(event.OnTouch(press2)); |
EXPECT_EQ(2, event.GetActionIndex()); |
EXPECT_EQ(3U, event.GetPointerCount()); |
TouchEvent release1 = TouchWithType(ET_TOUCH_RELEASED, ids[1]); |
- event.OnTouch(release1); |
+ EXPECT_TRUE(event.OnTouch(release1)); |
EXPECT_EQ(1, event.GetActionIndex()); |
event.CleanupRemovedTouchPoints(release1); |
EXPECT_EQ(2U, event.GetPointerCount()); |
TouchEvent release2 = TouchWithType(ET_TOUCH_RELEASED, ids[0]); |
- event.OnTouch(release2); |
+ EXPECT_TRUE(event.OnTouch(release2)); |
EXPECT_EQ(0, event.GetActionIndex()); |
event.CleanupRemovedTouchPoints(release2); |
EXPECT_EQ(1U, event.GetPointerCount()); |
TouchEvent release0 = TouchWithType(ET_TOUCH_RELEASED, ids[2]); |
- event.OnTouch(release0); |
+ EXPECT_TRUE(event.OnTouch(release0)); |
event.CleanupRemovedTouchPoints(release0); |
EXPECT_EQ(0U, event.GetPointerCount()); |
} |
@@ -183,7 +183,7 @@ TEST(MotionEventAuraTest, PointerLocations) { |
raw_y = y + kRawOffsetY; |
TouchEvent press0 = |
TouchWithPosition(ET_TOUCH_PRESSED, ids[0], x, y, raw_x, raw_y); |
- event.OnTouch(press0); |
+ EXPECT_TRUE(event.OnTouch(press0)); |
EXPECT_EQ(1U, event.GetPointerCount()); |
EXPECT_FLOAT_EQ(x, event.GetX(0)); |
@@ -197,7 +197,7 @@ TEST(MotionEventAuraTest, PointerLocations) { |
raw_y = y + kRawOffsetY; |
TouchEvent press1 = |
TouchWithPosition(ET_TOUCH_PRESSED, ids[1], x, y, raw_x, raw_y); |
- event.OnTouch(press1); |
+ EXPECT_TRUE(event.OnTouch(press1)); |
EXPECT_EQ(2U, event.GetPointerCount()); |
EXPECT_FLOAT_EQ(x, event.GetX(1)); |
@@ -222,7 +222,7 @@ TEST(MotionEventAuraTest, PointerLocations) { |
raw_y = y + kRawOffsetY; |
TouchEvent move1 = |
TouchWithPosition(ET_TOUCH_MOVED, ids[1], x, y, raw_x, raw_y); |
- event.OnTouch(move1); |
+ EXPECT_TRUE(event.OnTouch(move1)); |
EXPECT_FLOAT_EQ(x, event.GetX(1)); |
EXPECT_FLOAT_EQ(y, event.GetY(1)); |
@@ -235,7 +235,7 @@ TEST(MotionEventAuraTest, PointerLocations) { |
raw_y = y + kRawOffsetY; |
TouchEvent move0 = |
TouchWithPosition(ET_TOUCH_MOVED, ids[0], x, y, raw_x, raw_y); |
- event.OnTouch(move0); |
+ EXPECT_TRUE(event.OnTouch(move0)); |
EXPECT_FLOAT_EQ(x, event.GetX(0)); |
EXPECT_FLOAT_EQ(y, event.GetY(0)); |
@@ -260,7 +260,7 @@ TEST(MotionEventAuraTest, TapParams) { |
pressure = 0.123f; |
TouchEvent press0 = TouchWithTapParams( |
ET_TOUCH_PRESSED, ids[0], radius_x, radius_y, rotation_angle, pressure); |
- event.OnTouch(press0); |
+ EXPECT_TRUE(event.OnTouch(press0)); |
EXPECT_EQ(1U, event.GetPointerCount()); |
EXPECT_FLOAT_EQ(radius_x, event.GetTouchMajor(0) / 2); |
@@ -274,7 +274,7 @@ TEST(MotionEventAuraTest, TapParams) { |
pressure = 0.456f; |
TouchEvent press1 = TouchWithTapParams( |
ET_TOUCH_PRESSED, ids[1], radius_x, radius_y, rotation_angle, pressure); |
- event.OnTouch(press1); |
+ EXPECT_TRUE(event.OnTouch(press1)); |
EXPECT_EQ(2U, event.GetPointerCount()); |
EXPECT_FLOAT_EQ(radius_y, event.GetTouchMajor(1) / 2); |
@@ -299,7 +299,8 @@ TEST(MotionEventAuraTest, TapParams) { |
pressure = 0.654f; |
TouchEvent move1 = TouchWithTapParams( |
ET_TOUCH_MOVED, ids[1], radius_x, radius_y, rotation_angle, pressure); |
- event.OnTouch(move1); |
+ move1.set_location(gfx::Point(20, 21)); |
+ EXPECT_TRUE(event.OnTouch(move1)); |
EXPECT_EQ(2U, event.GetPointerCount()); |
EXPECT_FLOAT_EQ(radius_y, event.GetTouchMajor(1) / 2); |
@@ -316,17 +317,18 @@ TEST(MotionEventAuraTest, Timestamps) { |
TouchEvent press0 = TouchWithTime( |
ui::ET_TOUCH_PRESSED, ids[0], times_in_ms[0]); |
- event.OnTouch(press0); |
+ EXPECT_TRUE(event.OnTouch(press0)); |
EXPECT_EQ(MsToTicks(times_in_ms[0]), event.GetEventTime()); |
TouchEvent press1 = TouchWithTime( |
ui::ET_TOUCH_PRESSED, ids[1], times_in_ms[1]); |
- event.OnTouch(press1); |
+ EXPECT_TRUE(event.OnTouch(press1)); |
EXPECT_EQ(MsToTicks(times_in_ms[1]), event.GetEventTime()); |
TouchEvent move0 = TouchWithTime( |
ui::ET_TOUCH_MOVED, ids[0], times_in_ms[2]); |
- event.OnTouch(move0); |
+ move0.set_location(gfx::PointF(12, 21)); |
+ EXPECT_TRUE(event.OnTouch(move0)); |
EXPECT_EQ(MsToTicks(times_in_ms[2]), event.GetEventTime()); |
// Test cloning of timestamp information. |
@@ -340,12 +342,12 @@ TEST(MotionEventAuraTest, CachedAction) { |
MotionEventAura event; |
TouchEvent press0 = TouchWithType(ET_TOUCH_PRESSED, ids[0]); |
- event.OnTouch(press0); |
+ EXPECT_TRUE(event.OnTouch(press0)); |
EXPECT_EQ(MotionEvent::ACTION_DOWN, event.GetAction()); |
EXPECT_EQ(1U, event.GetPointerCount()); |
TouchEvent press1 = TouchWithType(ET_TOUCH_PRESSED, ids[1]); |
- event.OnTouch(press1); |
+ EXPECT_TRUE(event.OnTouch(press1)); |
EXPECT_EQ(MotionEvent::ACTION_POINTER_DOWN, event.GetAction()); |
EXPECT_EQ(1, event.GetActionIndex()); |
EXPECT_EQ(2U, event.GetPointerCount()); |
@@ -356,19 +358,20 @@ TEST(MotionEventAuraTest, CachedAction) { |
EXPECT_EQ(1, clone->GetActionIndex()); |
TouchEvent move0 = TouchWithType(ET_TOUCH_MOVED, ids[0]); |
- event.OnTouch(move0); |
+ move0.set_location(gfx::PointF(10, 12)); |
+ EXPECT_TRUE(event.OnTouch(move0)); |
EXPECT_EQ(MotionEvent::ACTION_MOVE, event.GetAction()); |
EXPECT_EQ(2U, event.GetPointerCount()); |
TouchEvent release0 = TouchWithType(ET_TOUCH_RELEASED, ids[0]); |
- event.OnTouch(release0); |
+ EXPECT_TRUE(event.OnTouch(release0)); |
EXPECT_EQ(MotionEvent::ACTION_POINTER_UP, event.GetAction()); |
EXPECT_EQ(2U, event.GetPointerCount()); |
event.CleanupRemovedTouchPoints(release0); |
EXPECT_EQ(1U, event.GetPointerCount()); |
TouchEvent release1 = TouchWithType(ET_TOUCH_RELEASED, ids[1]); |
- event.OnTouch(release1); |
+ EXPECT_TRUE(event.OnTouch(release1)); |
EXPECT_EQ(MotionEvent::ACTION_UP, event.GetAction()); |
EXPECT_EQ(1U, event.GetPointerCount()); |
event.CleanupRemovedTouchPoints(release1); |
@@ -380,12 +383,12 @@ TEST(MotionEventAuraTest, Cancel) { |
MotionEventAura event; |
TouchEvent press0 = TouchWithType(ET_TOUCH_PRESSED, ids[0]); |
- event.OnTouch(press0); |
+ EXPECT_TRUE(event.OnTouch(press0)); |
EXPECT_EQ(MotionEvent::ACTION_DOWN, event.GetAction()); |
EXPECT_EQ(1U, event.GetPointerCount()); |
TouchEvent press1 = TouchWithType(ET_TOUCH_PRESSED, ids[1]); |
- event.OnTouch(press1); |
+ EXPECT_TRUE(event.OnTouch(press1)); |
EXPECT_EQ(MotionEvent::ACTION_POINTER_DOWN, event.GetAction()); |
EXPECT_EQ(1, event.GetActionIndex()); |
EXPECT_EQ(2U, event.GetPointerCount()); |
@@ -401,7 +404,7 @@ TEST(MotionEventAuraTest, ToolType) { |
// For now, all pointers have an unknown tool type. |
// TODO(jdduke): Expand this test when ui::TouchEvent identifies the source |
// touch type, crbug.com/404128. |
- event.OnTouch(TouchWithType(ET_TOUCH_PRESSED, 7)); |
+ EXPECT_TRUE(event.OnTouch(TouchWithType(ET_TOUCH_PRESSED, 7))); |
ASSERT_EQ(1U, event.GetPointerCount()); |
EXPECT_EQ(MotionEvent::TOOL_TYPE_UNKNOWN, event.GetToolType(0)); |
} |
@@ -412,13 +415,39 @@ TEST(MotionEventAuraTest, Flags) { |
TouchEvent press0 = TouchWithType(ET_TOUCH_PRESSED, ids[0]); |
press0.set_flags(EF_CONTROL_DOWN); |
- event.OnTouch(press0); |
+ EXPECT_TRUE(event.OnTouch(press0)); |
EXPECT_EQ(EF_CONTROL_DOWN, event.GetFlags()); |
TouchEvent press1 = TouchWithType(ET_TOUCH_PRESSED, ids[1]); |
press1.set_flags(EF_CONTROL_DOWN | EF_CAPS_LOCK_DOWN); |
- event.OnTouch(press1); |
+ EXPECT_TRUE(event.OnTouch(press1)); |
EXPECT_EQ(EF_CONTROL_DOWN | EF_CAPS_LOCK_DOWN, event.GetFlags()); |
} |
+// Once crbug.com/446852 is fixed, we should ignore redundant presses. |
+TEST(MotionEventAuraTest, DoesntIgnoreRedundantPresses) { |
+ int id = 7; |
+ MotionEventAura event; |
+ EXPECT_TRUE(event.OnTouch(TouchWithType(ET_TOUCH_PRESSED, id))); |
+ EXPECT_TRUE(event.OnTouch(TouchWithType(ET_TOUCH_PRESSED, id))); |
+} |
+ |
+TEST(MotionEventAuraTest, IgnoresEventsWithoutPress) { |
+ int id = 7; |
+ MotionEventAura event; |
+ EXPECT_FALSE(event.OnTouch(TouchWithType(ET_TOUCH_MOVED, id))); |
+} |
+ |
+TEST(MotionEventAuraTest, IgnoresStationaryMoves) { |
+ int id = 7; |
+ MotionEventAura event; |
+ EXPECT_TRUE(event.OnTouch(TouchWithType(ET_TOUCH_PRESSED, id))); |
+ TouchEvent move0 = TouchWithPosition(ET_TOUCH_PRESSED, id, 10, 20, 10, 20); |
+ EXPECT_TRUE(event.OnTouch(move0)); |
+ |
+ TouchEvent move1 = TouchWithPosition(ET_TOUCH_MOVED, id, 11, 21, 11, 21); |
+ EXPECT_TRUE(event.OnTouch(move1)); |
+ EXPECT_FALSE(event.OnTouch(move1)); |
+} |
+ |
} // namespace ui |