Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(118)

Side by Side Diff: ui/events/event_unittest.cc

Issue 800163005: Fixed ui::TouchEvent rotation angle out-of-bound issue. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « ui/events/event.cc ('k') | ui/events/gestures/motion_event_aura.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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
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) {
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.9f;
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.1f;
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.1f, 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(400 - 360, event.rotation_angle());
562 }
515 } 563 }
516 564
517 } // namespace ui 565 } // namespace ui
OLDNEW
« no previous file with comments | « ui/events/event.cc ('k') | ui/events/gestures/motion_event_aura.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698