Index: ui/events/blink/blink_event_util_unittest.cc |
diff --git a/ui/events/blink/blink_event_util_unittest.cc b/ui/events/blink/blink_event_util_unittest.cc |
index e4dab1075821f5b95baa68d4a5a9b5003d8da07b..1bee59157f5832fa87e92ad83c5ee0bbe761ba49 100644 |
--- a/ui/events/blink/blink_event_util_unittest.cc |
+++ b/ui/events/blink/blink_event_util_unittest.cc |
@@ -28,4 +28,28 @@ TEST(BlinkEventUtilTest, NoScalingWith1DSF) { |
EXPECT_TRUE(ScaleWebInputEvent(event, 2.f)); |
} |
+TEST(BlinkEventUtilTest, TouchEventCoalescing) { |
+ blink::WebTouchPoint touch_point; |
+ touch_point.id = 1; |
+ touch_point.state = blink::WebTouchPoint::StateMoved; |
+ |
+ blink::WebTouchEvent coalesced_event; |
+ coalesced_event.setType(blink::WebInputEvent::TouchMove); |
+ touch_point.movementX = 5; |
+ touch_point.movementY = 10; |
+ coalesced_event.touches[coalesced_event.touchesLength++] = touch_point; |
+ |
+ blink::WebTouchEvent event_to_be_coalesced; |
+ event_to_be_coalesced.setType(blink::WebInputEvent::TouchMove); |
+ touch_point.movementX = 3; |
+ touch_point.movementY = -4; |
+ event_to_be_coalesced.touches[event_to_be_coalesced.touchesLength++] = |
+ touch_point; |
+ |
+ EXPECT_TRUE(CanCoalesce(event_to_be_coalesced, coalesced_event)); |
+ Coalesce(event_to_be_coalesced, &coalesced_event); |
+ EXPECT_EQ(8, coalesced_event.touches[0].movementX); |
+ EXPECT_EQ(6, coalesced_event.touches[0].movementY); |
+} |
+ |
} // namespace ui |