| // Copyright 2018 The Chromium Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| #include "third_party/blink/public/common/input/synthetic_web_input_event_builders.h" |
| |
| #include "testing/gtest/include/gtest/gtest.h" |
| |
| namespace blink { |
| |
| TEST(SyntheticWebInputEventBuilders, BuildWebTouchEvent) { |
| SyntheticWebTouchEvent event; |
| |
| event.PressPoint(1, 2); |
| EXPECT_EQ(1U, event.touches_length); |
| EXPECT_EQ(0, event.touches[0].id); |
| EXPECT_EQ(WebTouchPoint::State::kStatePressed, event.touches[0].state); |
| EXPECT_EQ(gfx::PointF(1, 2), event.touches[0].PositionInWidget()); |
| event.ResetPoints(); |
| |
| event.PressPoint(3, 4); |
| EXPECT_EQ(2U, event.touches_length); |
| EXPECT_EQ(1, event.touches[1].id); |
| EXPECT_EQ(WebTouchPoint::State::kStatePressed, event.touches[1].state); |
| EXPECT_EQ(gfx::PointF(3, 4), event.touches[1].PositionInWidget()); |
| event.ResetPoints(); |
| |
| event.MovePoint(1, 5, 6); |
| EXPECT_EQ(2U, event.touches_length); |
| EXPECT_EQ(1, event.touches[1].id); |
| EXPECT_EQ(WebTouchPoint::State::kStateMoved, event.touches[1].state); |
| EXPECT_EQ(gfx::PointF(5, 6), event.touches[1].PositionInWidget()); |
| event.ResetPoints(); |
| |
| event.ReleasePoint(0); |
| EXPECT_EQ(2U, event.touches_length); |
| EXPECT_EQ(0, event.touches[0].id); |
| EXPECT_EQ(WebTouchPoint::State::kStateReleased, event.touches[0].state); |
| event.ResetPoints(); |
| |
| event.MovePoint(1, 7, 8); |
| EXPECT_EQ(1U, event.touches_length); |
| EXPECT_EQ(1, event.touches[1].id); |
| EXPECT_EQ(WebTouchPoint::State::kStateMoved, event.touches[1].state); |
| EXPECT_EQ(gfx::PointF(7, 8), event.touches[1].PositionInWidget()); |
| EXPECT_EQ(WebTouchPoint::State::kStateUndefined, event.touches[0].state); |
| event.ResetPoints(); |
| |
| event.PressPoint(9, 10); |
| EXPECT_EQ(2U, event.touches_length); |
| EXPECT_EQ(2, event.touches[0].id); |
| EXPECT_EQ(WebTouchPoint::State::kStatePressed, event.touches[0].state); |
| EXPECT_EQ(gfx::PointF(9, 10), event.touches[0].PositionInWidget()); |
| } |
| |
| } // namespace blink |