Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "base/memory/scoped_ptr.h" | 5 #include "base/memory/scoped_ptr.h" |
| 6 #include "testing/gtest/include/gtest/gtest.h" | 6 #include "testing/gtest/include/gtest/gtest.h" |
| 7 #include "ui/events/event.h" | 7 #include "ui/events/event.h" |
| 8 #include "ui/events/event_utils.h" | 8 #include "ui/events/event_utils.h" |
| 9 #include "ui/events/keycodes/dom3/dom_code.h" | 9 #include "ui/events/keycodes/dom3/dom_code.h" |
| 10 #include "ui/events/keycodes/dom4/keycode_converter.h" | 10 #include "ui/events/keycodes/dom4/keycode_converter.h" |
| (...skipping 487 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 498 } | 498 } |
| 499 #endif // USE_X11 || OS_WIN | 499 #endif // USE_X11 || OS_WIN |
| 500 | 500 |
| 501 TEST(EventTest, TouchEventRadiusDefaultsToOtherAxis) { | 501 TEST(EventTest, TouchEventRadiusDefaultsToOtherAxis) { |
| 502 const base::TimeDelta time = base::TimeDelta::FromMilliseconds(0); | 502 const base::TimeDelta time = base::TimeDelta::FromMilliseconds(0); |
| 503 const float non_zero_length1 = 30; | 503 const float non_zero_length1 = 30; |
| 504 const float non_zero_length2 = 46; | 504 const float non_zero_length2 = 46; |
| 505 | 505 |
| 506 TouchEvent event1(ui::ET_TOUCH_PRESSED, gfx::Point(0, 0), 0, 0, time, | 506 TouchEvent event1(ui::ET_TOUCH_PRESSED, gfx::Point(0, 0), 0, 0, time, |
| 507 non_zero_length1, 0, 0, 0); | 507 non_zero_length1, 0, 0, 0); |
| 508 DCHECK_EQ(non_zero_length1, event1.radius_x()); | 508 EXPECT_EQ(non_zero_length1, event1.radius_x()); |
| 509 DCHECK_EQ(non_zero_length1, event1.radius_y()); | 509 EXPECT_EQ(non_zero_length1, event1.radius_y()); |
| 510 | 510 |
| 511 TouchEvent event2(ui::ET_TOUCH_PRESSED, gfx::Point(0, 0), 0, 0, time, | 511 TouchEvent event2(ui::ET_TOUCH_PRESSED, gfx::Point(0, 0), 0, 0, time, |
| 512 0, non_zero_length2, 0, 0); | 512 0, non_zero_length2, 0, 0); |
| 513 DCHECK_EQ(non_zero_length2, event2.radius_x()); | 513 EXPECT_EQ(non_zero_length2, event2.radius_x()); |
| 514 DCHECK_EQ(non_zero_length2, event2.radius_y()); | 514 EXPECT_EQ(non_zero_length2, event2.radius_y()); |
| 515 } | |
| 516 | |
| 517 TEST(EventTest, TouchEventRotationAngleFixing) { | |
|
tdresser
2015/01/20 16:40:38
Awesome, thanks.
| |
| 518 const base::TimeDelta time = base::TimeDelta::FromMilliseconds(0); | |
| 519 const float radius_x = 20; | |
| 520 const float radius_y = 10; | |
| 521 | |
| 522 { | |
| 523 const float angle_in_range = 0; | |
| 524 TouchEvent event(ui::ET_TOUCH_PRESSED, gfx::Point(0, 0), 0, 0, time, | |
| 525 radius_x, radius_y, angle_in_range, 0); | |
| 526 EXPECT_FLOAT_EQ(angle_in_range, event.rotation_angle()); | |
| 527 } | |
| 528 | |
| 529 { | |
| 530 const float angle_in_range = 179.9; | |
| 531 TouchEvent event(ui::ET_TOUCH_PRESSED, gfx::Point(0, 0), 0, 0, time, | |
| 532 radius_x, radius_y, angle_in_range, 0); | |
| 533 EXPECT_FLOAT_EQ(angle_in_range, event.rotation_angle()); | |
| 534 } | |
| 535 | |
| 536 { | |
| 537 const float angle_negative = -0.1; | |
| 538 TouchEvent event(ui::ET_TOUCH_PRESSED, gfx::Point(0, 0), 0, 0, time, | |
| 539 radius_x, radius_y, angle_negative, 0); | |
| 540 EXPECT_FLOAT_EQ(180 - 0.1, event.rotation_angle()); | |
| 541 } | |
| 542 | |
| 543 { | |
| 544 const float angle_negative = -200; | |
| 545 TouchEvent event(ui::ET_TOUCH_PRESSED, gfx::Point(0, 0), 0, 0, time, | |
| 546 radius_x, radius_y, angle_negative, 0); | |
| 547 EXPECT_FLOAT_EQ(360 - 200, event.rotation_angle()); | |
| 548 } | |
| 549 | |
| 550 { | |
| 551 const float angle_too_big = 180; | |
| 552 TouchEvent event(ui::ET_TOUCH_PRESSED, gfx::Point(0, 0), 0, 0, time, | |
| 553 radius_x, radius_y, angle_too_big, 0); | |
| 554 EXPECT_FLOAT_EQ(0, event.rotation_angle()); | |
| 555 } | |
| 556 | |
| 557 { | |
| 558 const float angle_too_big = 400; | |
| 559 TouchEvent event(ui::ET_TOUCH_PRESSED, gfx::Point(0, 0), 0, 0, time, | |
| 560 radius_x, radius_y, angle_too_big, 0); | |
| 561 EXPECT_FLOAT_EQ(40, event.rotation_angle()); | |
| 562 } | |
| 515 } | 563 } |
| 516 | 564 |
| 517 } // namespace ui | 565 } // namespace ui |
| OLD | NEW |