Index: ui/events/event_unittest.cc |
diff --git a/ui/events/event_unittest.cc b/ui/events/event_unittest.cc |
index 38ad283b5a9b6923cea437c51502563f772e6b92..dd2f899197ca9da6a20e17ffa7a27112b11ba497 100644 |
--- a/ui/events/event_unittest.cc |
+++ b/ui/events/event_unittest.cc |
@@ -59,7 +59,9 @@ TEST(EventTest, GetCharacter) { |
TEST(EventTest, ClickCount) { |
const gfx::Point origin(0, 0); |
- MouseEvent mouseev(ET_MOUSE_PRESSED, origin, origin, EventTimeForNow(), 0, 0); |
+ MouseEvent mouseev( |
+ ET_MOUSE_PRESSED, origin, origin, EventTimeForNow(), 0, 0, |
+ ui::PointerEventDetails(ui::EventPointerType::POINTER_TYPE_MOUSE)); |
for (int i = 1; i <=3 ; ++i) { |
mouseev.SetClickCount(i); |
EXPECT_EQ(i, mouseev.GetClickCount()); |
@@ -68,10 +70,12 @@ TEST(EventTest, ClickCount) { |
TEST(EventTest, RepeatedClick) { |
const gfx::Point origin(0, 0); |
- MouseEvent mouse_ev1(ET_MOUSE_PRESSED, origin, origin, EventTimeForNow(), 0, |
- 0); |
- MouseEvent mouse_ev2(ET_MOUSE_PRESSED, origin, origin, EventTimeForNow(), 0, |
- 0); |
+ MouseEvent mouse_ev1( |
+ ET_MOUSE_PRESSED, origin, origin, EventTimeForNow(), 0, 0, |
+ ui::PointerEventDetails(ui::EventPointerType::POINTER_TYPE_MOUSE)); |
+ MouseEvent mouse_ev2( |
+ ET_MOUSE_PRESSED, origin, origin, EventTimeForNow(), 0, 0, |
+ ui::PointerEventDetails(ui::EventPointerType::POINTER_TYPE_MOUSE)); |
LocatedEventTestApi test_ev1(&mouse_ev1); |
LocatedEventTestApi test_ev2(&mouse_ev2); |
@@ -121,29 +125,35 @@ TEST(EventTest, DoubleClickRequiresRelease) { |
base::TimeDelta start = base::TimeDelta::FromMilliseconds(0); |
base::TimeDelta soon = start + base::TimeDelta::FromMilliseconds(1); |
- ev.reset(new MouseEvent(ET_MOUSE_PRESSED, origin1, origin1, EventTimeForNow(), |
- 0, 0)); |
+ ev.reset(new MouseEvent( |
+ ET_MOUSE_PRESSED, origin1, origin1, EventTimeForNow(), 0, 0, |
+ ui::PointerEventDetails(ui::EventPointerType::POINTER_TYPE_MOUSE))); |
ev->set_time_stamp(start); |
EXPECT_EQ(1, MouseEvent::GetRepeatCount(*ev)); |
- ev.reset(new MouseEvent(ET_MOUSE_PRESSED, origin1, origin1, EventTimeForNow(), |
- 0, 0)); |
+ ev.reset(new MouseEvent( |
+ ET_MOUSE_PRESSED, origin1, origin1, EventTimeForNow(), 0, 0, |
+ ui::PointerEventDetails(ui::EventPointerType::POINTER_TYPE_MOUSE))); |
ev->set_time_stamp(start); |
EXPECT_EQ(1, MouseEvent::GetRepeatCount(*ev)); |
- ev.reset(new MouseEvent(ET_MOUSE_PRESSED, origin2, origin2, EventTimeForNow(), |
- 0, 0)); |
+ ev.reset(new MouseEvent( |
+ ET_MOUSE_PRESSED, origin2, origin2, EventTimeForNow(), 0, 0, |
+ ui::PointerEventDetails(ui::EventPointerType::POINTER_TYPE_MOUSE))); |
ev->set_time_stamp(start); |
EXPECT_EQ(1, MouseEvent::GetRepeatCount(*ev)); |
- ev.reset(new MouseEvent(ET_MOUSE_RELEASED, origin2, origin2, |
- EventTimeForNow(), 0, 0)); |
+ ev.reset(new MouseEvent( |
+ ET_MOUSE_RELEASED, origin2, origin2, EventTimeForNow(), 0, 0, |
+ ui::PointerEventDetails(ui::EventPointerType::POINTER_TYPE_MOUSE))); |
ev->set_time_stamp(start); |
EXPECT_EQ(1, MouseEvent::GetRepeatCount(*ev)); |
- ev.reset(new MouseEvent(ET_MOUSE_PRESSED, origin2, origin2, EventTimeForNow(), |
- 0, 0)); |
+ ev.reset(new MouseEvent( |
+ ET_MOUSE_PRESSED, origin2, origin2, EventTimeForNow(), 0, 0, |
+ ui::PointerEventDetails(ui::EventPointerType::POINTER_TYPE_MOUSE))); |
ev->set_time_stamp(soon); |
EXPECT_EQ(2, MouseEvent::GetRepeatCount(*ev)); |
- ev.reset(new MouseEvent(ET_MOUSE_RELEASED, origin2, origin2, |
- EventTimeForNow(), 0, 0)); |
+ ev.reset(new MouseEvent( |
+ ET_MOUSE_RELEASED, origin2, origin2, EventTimeForNow(), 0, 0, |
+ ui::PointerEventDetails(ui::EventPointerType::POINTER_TYPE_MOUSE))); |
ev->set_time_stamp(soon); |
EXPECT_EQ(2, MouseEvent::GetRepeatCount(*ev)); |
MouseEvent::ResetLastClickForTest(); |
@@ -157,21 +167,28 @@ TEST(EventTest, SingleClickRightLeft) { |
base::TimeDelta start = base::TimeDelta::FromMilliseconds(0); |
base::TimeDelta soon = start + base::TimeDelta::FromMilliseconds(1); |
- ev.reset(new MouseEvent(ET_MOUSE_PRESSED, origin, origin, EventTimeForNow(), |
- ui::EF_RIGHT_MOUSE_BUTTON, |
- ui::EF_RIGHT_MOUSE_BUTTON)); |
+ ev.reset(new MouseEvent( |
+ ET_MOUSE_PRESSED, origin, origin, EventTimeForNow(), |
+ ui::EF_RIGHT_MOUSE_BUTTON, ui::EF_RIGHT_MOUSE_BUTTON, |
+ ui::PointerEventDetails(ui::EventPointerType::POINTER_TYPE_MOUSE))); |
ev->set_time_stamp(start); |
EXPECT_EQ(1, MouseEvent::GetRepeatCount(*ev)); |
- ev.reset(new MouseEvent(ET_MOUSE_PRESSED, origin, origin, EventTimeForNow(), |
- ui::EF_LEFT_MOUSE_BUTTON, ui::EF_LEFT_MOUSE_BUTTON)); |
+ ev.reset(new MouseEvent( |
+ ET_MOUSE_PRESSED, origin, origin, EventTimeForNow(), |
+ ui::EF_LEFT_MOUSE_BUTTON, ui::EF_LEFT_MOUSE_BUTTON, |
+ ui::PointerEventDetails(ui::EventPointerType::POINTER_TYPE_MOUSE))); |
ev->set_time_stamp(start); |
EXPECT_EQ(1, MouseEvent::GetRepeatCount(*ev)); |
- ev.reset(new MouseEvent(ET_MOUSE_RELEASED, origin, origin, EventTimeForNow(), |
- ui::EF_LEFT_MOUSE_BUTTON, ui::EF_LEFT_MOUSE_BUTTON)); |
+ ev.reset(new MouseEvent( |
+ ET_MOUSE_RELEASED, origin, origin, EventTimeForNow(), |
+ ui::EF_LEFT_MOUSE_BUTTON, ui::EF_LEFT_MOUSE_BUTTON, |
+ ui::PointerEventDetails(ui::EventPointerType::POINTER_TYPE_MOUSE))); |
ev->set_time_stamp(start); |
EXPECT_EQ(1, MouseEvent::GetRepeatCount(*ev)); |
- ev.reset(new MouseEvent(ET_MOUSE_PRESSED, origin, origin, EventTimeForNow(), |
- ui::EF_LEFT_MOUSE_BUTTON, ui::EF_LEFT_MOUSE_BUTTON)); |
+ ev.reset(new MouseEvent( |
+ ET_MOUSE_PRESSED, origin, origin, EventTimeForNow(), |
+ ui::EF_LEFT_MOUSE_BUTTON, ui::EF_LEFT_MOUSE_BUTTON, |
+ ui::PointerEventDetails(ui::EventPointerType::POINTER_TYPE_MOUSE))); |
ev->set_time_stamp(soon); |
EXPECT_EQ(2, MouseEvent::GetRepeatCount(*ev)); |
MouseEvent::ResetLastClickForTest(); |
@@ -547,13 +564,15 @@ TEST(EventTest, TouchEventRadiusDefaultsToOtherAxis) { |
const float non_zero_length1 = 30; |
const float non_zero_length2 = 46; |
- TouchEvent event1(ui::ET_TOUCH_PRESSED, gfx::Point(0, 0), 0, 0, time, |
- non_zero_length1, 0, 0, 0); |
+ TouchEvent event1(ui::ET_TOUCH_PRESSED, gfx::Point(0, 0), 0, 0, time, 0, |
+ PointerEventDetails(EventPointerType::POINTER_TYPE_TOUCH, |
+ non_zero_length1, 0, 0, 0, 0)); |
EXPECT_EQ(non_zero_length1, event1.radius_x()); |
EXPECT_EQ(non_zero_length1, event1.radius_y()); |
- TouchEvent event2(ui::ET_TOUCH_PRESSED, gfx::Point(0, 0), 0, 0, time, |
- 0, non_zero_length2, 0, 0); |
+ TouchEvent event2(ui::ET_TOUCH_PRESSED, gfx::Point(0, 0), 0, 0, time, 0, |
+ PointerEventDetails(EventPointerType::POINTER_TYPE_TOUCH, 0, |
+ non_zero_length2, 0, 0, 0)); |
EXPECT_EQ(non_zero_length2, event2.radius_x()); |
EXPECT_EQ(non_zero_length2, event2.radius_y()); |
} |
@@ -566,44 +585,149 @@ TEST(EventTest, TouchEventRotationAngleFixing) { |
{ |
const float angle_in_range = 0; |
TouchEvent event(ui::ET_TOUCH_PRESSED, gfx::Point(0, 0), 0, 0, time, |
- radius_x, radius_y, angle_in_range, 0); |
+ angle_in_range, |
+ PointerEventDetails(EventPointerType::POINTER_TYPE_TOUCH, |
+ radius_x, radius_y, 0, 0, 0)); |
EXPECT_FLOAT_EQ(angle_in_range, event.rotation_angle()); |
} |
{ |
const float angle_in_range = 179.9f; |
TouchEvent event(ui::ET_TOUCH_PRESSED, gfx::Point(0, 0), 0, 0, time, |
- radius_x, radius_y, angle_in_range, 0); |
+ angle_in_range, |
+ PointerEventDetails(EventPointerType::POINTER_TYPE_TOUCH, |
+ radius_x, radius_y, 0, 0, 0)); |
EXPECT_FLOAT_EQ(angle_in_range, event.rotation_angle()); |
} |
{ |
const float angle_negative = -0.1f; |
TouchEvent event(ui::ET_TOUCH_PRESSED, gfx::Point(0, 0), 0, 0, time, |
- radius_x, radius_y, angle_negative, 0); |
+ angle_negative, |
+ PointerEventDetails(EventPointerType::POINTER_TYPE_TOUCH, |
+ radius_x, radius_y, 0, 0, 0)); |
EXPECT_FLOAT_EQ(180 - 0.1f, event.rotation_angle()); |
} |
{ |
const float angle_negative = -200; |
TouchEvent event(ui::ET_TOUCH_PRESSED, gfx::Point(0, 0), 0, 0, time, |
- radius_x, radius_y, angle_negative, 0); |
+ angle_negative, |
+ PointerEventDetails(EventPointerType::POINTER_TYPE_TOUCH, |
+ radius_x, radius_y, 0, 0, 0)); |
EXPECT_FLOAT_EQ(360 - 200, event.rotation_angle()); |
} |
{ |
const float angle_too_big = 180; |
TouchEvent event(ui::ET_TOUCH_PRESSED, gfx::Point(0, 0), 0, 0, time, |
- radius_x, radius_y, angle_too_big, 0); |
+ angle_too_big, |
+ PointerEventDetails(EventPointerType::POINTER_TYPE_TOUCH, |
+ radius_x, radius_y, 0, 0, 0)); |
EXPECT_FLOAT_EQ(0, event.rotation_angle()); |
} |
{ |
const float angle_too_big = 400; |
TouchEvent event(ui::ET_TOUCH_PRESSED, gfx::Point(0, 0), 0, 0, time, |
- radius_x, radius_y, angle_too_big, 0); |
+ angle_too_big, |
+ PointerEventDetails(EventPointerType::POINTER_TYPE_TOUCH, |
+ radius_x, radius_y, 0, 0, 0)); |
EXPECT_FLOAT_EQ(400 - 360, event.rotation_angle()); |
} |
} |
+TEST(EventTest, PointerEventDetailsTouch) { |
+ ui::TouchEvent touch_event_plain( |
+ ET_TOUCH_PRESSED, gfx::Point(0, 0), 0, 0, ui::EventTimeForNow(), 0.0f, |
+ PointerEventDetails(EventPointerType::POINTER_TYPE_TOUCH)); |
+ |
+ EXPECT_EQ(EventPointerType::POINTER_TYPE_TOUCH, |
+ touch_event_plain.pointer_details().pointer_type()); |
+ EXPECT_EQ(0.0f, touch_event_plain.pointer_details().radius_x()); |
+ EXPECT_EQ(0.0f, touch_event_plain.pointer_details().radius_y()); |
+ EXPECT_EQ(0.0f, touch_event_plain.pointer_details().force()); |
+ EXPECT_EQ(0.0f, touch_event_plain.pointer_details().tilt_x()); |
+ EXPECT_EQ(0.0f, touch_event_plain.pointer_details().tilt_y()); |
+ |
+ EXPECT_EQ(0.0f, touch_event_plain.radius_x()); |
+ EXPECT_EQ(0.0f, touch_event_plain.radius_y()); |
+ EXPECT_EQ(0.0f, touch_event_plain.force()); |
+ |
+ ui::TouchEvent touch_event_with_details( |
+ ET_TOUCH_PRESSED, gfx::Point(0, 0), 0, 0, ui::EventTimeForNow(), 0.0f, |
+ PointerEventDetails(EventPointerType::POINTER_TYPE_TOUCH, 10.0f, 5.0f, |
+ 15.0f, 90.0f, -90.0f)); |
+ |
+ EXPECT_EQ(EventPointerType::POINTER_TYPE_TOUCH, |
+ touch_event_with_details.pointer_details().pointer_type()); |
+ EXPECT_EQ(10.0f, touch_event_with_details.pointer_details().radius_x()); |
+ EXPECT_EQ(5.0f, touch_event_with_details.pointer_details().radius_y()); |
+ EXPECT_EQ(15.0f, touch_event_with_details.pointer_details().force()); |
+ EXPECT_EQ(90.0f, touch_event_with_details.pointer_details().tilt_x()); |
+ EXPECT_EQ(-90.0f, touch_event_with_details.pointer_details().tilt_y()); |
+ |
+ EXPECT_EQ(10.0f, touch_event_with_details.radius_x()); |
+ EXPECT_EQ(5.0f, touch_event_with_details.radius_y()); |
+ EXPECT_EQ(15.0f, touch_event_with_details.force()); |
+ |
+ ui::TouchEvent touch_event_copy(touch_event_with_details); |
+ EXPECT_EQ(EventPointerType::POINTER_TYPE_TOUCH, |
+ touch_event_copy.pointer_details().pointer_type()); |
+ EXPECT_EQ(10.0f, touch_event_copy.pointer_details().radius_x()); |
+ EXPECT_EQ(5.0f, touch_event_copy.pointer_details().radius_y()); |
+ EXPECT_EQ(15.0f, touch_event_copy.pointer_details().force()); |
+ EXPECT_EQ(90.0f, touch_event_copy.pointer_details().tilt_x()); |
+ EXPECT_EQ(-90.0f, touch_event_copy.pointer_details().tilt_y()); |
+} |
+ |
+TEST(EventTest, PointerEventDetailsMouse) { |
+ ui::MouseEvent mouse_event( |
+ ET_MOUSE_PRESSED, gfx::PointF(0, 0), gfx::PointF(0, 0), |
+ ui::EventTimeForNow(), 0, 0, |
+ PointerEventDetails(EventPointerType::POINTER_TYPE_MOUSE)); |
+ |
+ EXPECT_EQ(EventPointerType::POINTER_TYPE_MOUSE, |
+ mouse_event.pointer_details().pointer_type()); |
+ EXPECT_EQ(0.0f, mouse_event.pointer_details().radius_x()); |
+ EXPECT_EQ(0.0f, mouse_event.pointer_details().radius_y()); |
+ EXPECT_EQ(0.0f, mouse_event.pointer_details().force()); |
+ EXPECT_EQ(0.0f, mouse_event.pointer_details().tilt_x()); |
+ EXPECT_EQ(0.0f, mouse_event.pointer_details().tilt_y()); |
+ |
+ ui::MouseEvent mouse_event_copy(mouse_event); |
+ EXPECT_EQ(EventPointerType::POINTER_TYPE_MOUSE, |
+ mouse_event_copy.pointer_details().pointer_type()); |
+ EXPECT_EQ(0.0f, mouse_event_copy.pointer_details().radius_x()); |
+ EXPECT_EQ(0.0f, mouse_event_copy.pointer_details().radius_y()); |
+ EXPECT_EQ(0.0f, mouse_event_copy.pointer_details().force()); |
+ EXPECT_EQ(0.0f, mouse_event_copy.pointer_details().tilt_x()); |
+ EXPECT_EQ(0.0f, mouse_event_copy.pointer_details().tilt_y()); |
+} |
+ |
+TEST(EventTest, PointerEventDetailsStylus) { |
+ ui::MouseEvent stylus_event( |
+ ET_MOUSE_PRESSED, gfx::PointF(0, 0), gfx::PointF(0, 0), |
+ ui::EventTimeForNow(), 0, 0, |
+ PointerEventDetails(EventPointerType::POINTER_TYPE_PEN, 5.0f, 5.0f, 10.0f, |
+ -90.0f, 90.0f)); |
+ |
+ EXPECT_EQ(EventPointerType::POINTER_TYPE_PEN, |
+ stylus_event.pointer_details().pointer_type()); |
+ EXPECT_EQ(5.0f, stylus_event.pointer_details().radius_x()); |
+ EXPECT_EQ(5.0f, stylus_event.pointer_details().radius_y()); |
+ EXPECT_EQ(10.0f, stylus_event.pointer_details().force()); |
+ EXPECT_EQ(-90.0f, stylus_event.pointer_details().tilt_x()); |
+ EXPECT_EQ(90.0f, stylus_event.pointer_details().tilt_y()); |
+ |
+ ui::MouseEvent stylus_event_copy(stylus_event); |
+ EXPECT_EQ(EventPointerType::POINTER_TYPE_PEN, |
+ stylus_event_copy.pointer_details().pointer_type()); |
+ EXPECT_EQ(5.0f, stylus_event_copy.pointer_details().radius_x()); |
+ EXPECT_EQ(5.0f, stylus_event_copy.pointer_details().radius_y()); |
+ EXPECT_EQ(10.0f, stylus_event_copy.pointer_details().force()); |
+ EXPECT_EQ(-90.0f, stylus_event_copy.pointer_details().tilt_x()); |
+ EXPECT_EQ(90.0f, stylus_event_copy.pointer_details().tilt_y()); |
+} |
+ |
} // namespace ui |