Index: ui/events/event_unittest.cc |
diff --git a/ui/events/event_unittest.cc b/ui/events/event_unittest.cc |
index 11913e1f8333ce5e934b4a6c65df606cb62a7990..5a99331db90587ba889e8378ac497d962c55b504 100644 |
--- a/ui/events/event_unittest.cc |
+++ b/ui/events/event_unittest.cc |
@@ -505,13 +505,61 @@ TEST(EventTest, TouchEventRadiusDefaultsToOtherAxis) { |
TouchEvent event1(ui::ET_TOUCH_PRESSED, gfx::Point(0, 0), 0, 0, time, |
non_zero_length1, 0, 0, 0); |
- DCHECK_EQ(non_zero_length1, event1.radius_x()); |
- DCHECK_EQ(non_zero_length1, event1.radius_y()); |
+ 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); |
- DCHECK_EQ(non_zero_length2, event2.radius_x()); |
- DCHECK_EQ(non_zero_length2, event2.radius_y()); |
+ EXPECT_EQ(non_zero_length2, event2.radius_x()); |
+ EXPECT_EQ(non_zero_length2, event2.radius_y()); |
+} |
+ |
+TEST(EventTest, TouchEventRotationAngleFixing) { |
+ const base::TimeDelta time = base::TimeDelta::FromMilliseconds(0); |
+ const float radius_x = 20; |
+ const float radius_y = 10; |
+ |
+ { |
+ 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); |
+ EXPECT_FLOAT_EQ(angle_in_range, event.rotation_angle()); |
+ } |
+ |
+ { |
+ const float angle_in_range = 179.9; |
+ TouchEvent event(ui::ET_TOUCH_PRESSED, gfx::Point(0, 0), 0, 0, time, |
+ radius_x, radius_y, angle_in_range, 0); |
+ EXPECT_FLOAT_EQ(angle_in_range, event.rotation_angle()); |
+ } |
+ |
+ { |
+ const float angle_negative = -0.1; |
+ TouchEvent event(ui::ET_TOUCH_PRESSED, gfx::Point(0, 0), 0, 0, time, |
+ radius_x, radius_y, angle_negative, 0); |
+ EXPECT_FLOAT_EQ(180 - 0.1, 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); |
+ 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); |
+ 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); |
+ EXPECT_FLOAT_EQ(40, event.rotation_angle()); |
+ } |
} |
} // namespace ui |