| Index: ui/events/event_unittest.cc
|
| diff --git a/ui/events/event_unittest.cc b/ui/events/event_unittest.cc
|
| index d4d7b7bad7828334a11eddbd9494d73492d40e27..3ffc0a78ec8cdc2c7d8d707a004beac9db1386e1 100644
|
| --- a/ui/events/event_unittest.cc
|
| +++ b/ui/events/event_unittest.cc
|
| @@ -887,6 +887,70 @@ TEST(EventTest, PointerEventClone) {
|
| }
|
| }
|
|
|
| +TEST(EventTest, PointerEventToMouseEvent) {
|
| + const struct {
|
| + ui::EventType in_type;
|
| + ui::EventType out_type;
|
| + gfx::Point location;
|
| + gfx::Point root_location;
|
| + int flags;
|
| + } kTestData[] = {
|
| + {ui::ET_POINTER_DOWN, ui::ET_MOUSE_PRESSED, gfx::Point(10, 20),
|
| + gfx::Point(110, 120), 0},
|
| + {ui::ET_POINTER_MOVED, ui::ET_MOUSE_MOVED, gfx::Point(20, 10),
|
| + gfx::Point(1, 2), EF_LEFT_MOUSE_BUTTON},
|
| + {ui::ET_POINTER_ENTERED, ui::ET_MOUSE_ENTERED, gfx::Point(), gfx::Point(),
|
| + EF_MIDDLE_MOUSE_BUTTON | EF_RIGHT_MOUSE_BUTTON},
|
| + {ui::ET_POINTER_EXITED, ui::ET_MOUSE_EXITED, gfx::Point(5, 1),
|
| + gfx::Point(1, 5), EF_RIGHT_MOUSE_BUTTON},
|
| + {ui::ET_POINTER_UP, ui::ET_MOUSE_RELEASED, gfx::Point(1000, 1000),
|
| + gfx::Point(14, 15), EF_MIDDLE_MOUSE_BUTTON}};
|
| +
|
| + for (size_t i = 0; i < arraysize(kTestData); i++) {
|
| + ui::PointerEvent pointer_event(
|
| + kTestData[i].in_type, ui::EventPointerType::POINTER_TYPE_MOUSE,
|
| + kTestData[i].location, kTestData[i].root_location, kTestData[i].flags,
|
| + 0, base::TimeDelta());
|
| + ui::MouseEvent mouse_event(pointer_event);
|
| +
|
| + EXPECT_EQ(kTestData[i].out_type, mouse_event.type());
|
| + EXPECT_EQ(kTestData[i].location, mouse_event.location());
|
| + EXPECT_EQ(kTestData[i].root_location, mouse_event.root_location());
|
| + EXPECT_EQ(kTestData[i].flags, mouse_event.flags());
|
| + }
|
| +}
|
| +
|
| +TEST(EventTest, PointerEventToTouchEventType) {
|
| + ui::EventType kTouchTypeMap[][2] = {
|
| + {ui::ET_POINTER_DOWN, ui::ET_TOUCH_PRESSED},
|
| + {ui::ET_POINTER_MOVED, ui::ET_TOUCH_MOVED},
|
| + {ui::ET_POINTER_UP, ui::ET_TOUCH_RELEASED},
|
| + {ui::ET_POINTER_CANCELLED, ui::ET_TOUCH_CANCELLED},
|
| + };
|
| +
|
| + for (size_t i = 0; i < arraysize(kTouchTypeMap); i++) {
|
| + ui::PointerEvent pointer_event(
|
| + kTouchTypeMap[i][0], ui::EventPointerType::POINTER_TYPE_TOUCH,
|
| + gfx::Point(), gfx::Point(), 0, 0, base::TimeDelta());
|
| + ui::TouchEvent touch_event(pointer_event);
|
| +
|
| + EXPECT_EQ(kTouchTypeMap[i][1], touch_event.type());
|
| + }
|
| +}
|
| +
|
| +TEST(EventTest, PointerEventToTouchEventDetails) {
|
| + ui::PointerEvent pointer_event(
|
| + ui::TouchEvent(ui::ET_TOUCH_PRESSED, gfx::Point(12, 14), 0, 15,
|
| + EventTimeForNow(), 11.5, 13.5, 13.0, 0.5));
|
| + ui::TouchEvent touch_event(pointer_event);
|
| +
|
| + EXPECT_EQ(pointer_event.location(), touch_event.location());
|
| + EXPECT_EQ(pointer_event.flags(), touch_event.flags());
|
| + EXPECT_EQ(pointer_event.pointer_id(), touch_event.touch_id());
|
| + EXPECT_EQ(pointer_event.pointer_details(), touch_event.pointer_details());
|
| + EXPECT_EQ(pointer_event.time_stamp(), touch_event.time_stamp());
|
| +}
|
| +
|
| // Checks that Event.Latency.OS.TOUCH_PRESSED, TOUCH_MOVED,
|
| // and TOUCH_RELEASED histograms are computed properly.
|
| #if defined(USE_X11)
|
|
|