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

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

Issue 2786693002: Add PointerDetails to ui::MouseEvent's constructors (Closed)
Patch Set: mouse event constructor Created 3 years, 8 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
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 "ui/events/event.h" 5 #include "ui/events/event.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 #include <stdint.h> 8 #include <stdint.h>
9 9
10 #include <memory> 10 #include <memory>
(...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after
67 // Check if expected Unicode character was returned for a key combination 67 // Check if expected Unicode character was returned for a key combination
68 // contains Control. 68 // contains Control.
69 // e.g. Control+Shift+2 produces U+200C on "Persian" keyboard. 69 // e.g. Control+Shift+2 produces U+200C on "Persian" keyboard.
70 // http://crbug.com/582453 70 // http://crbug.com/582453
71 KeyEvent keyev5(0x200C, VKEY_UNKNOWN, EF_CONTROL_DOWN | EF_SHIFT_DOWN); 71 KeyEvent keyev5(0x200C, VKEY_UNKNOWN, EF_CONTROL_DOWN | EF_SHIFT_DOWN);
72 EXPECT_EQ(0x200C, keyev5.GetCharacter()); 72 EXPECT_EQ(0x200C, keyev5.GetCharacter());
73 } 73 }
74 74
75 TEST(EventTest, ClickCount) { 75 TEST(EventTest, ClickCount) {
76 const gfx::Point origin(0, 0); 76 const gfx::Point origin(0, 0);
77 MouseEvent mouseev(ET_MOUSE_PRESSED, origin, origin, EventTimeForNow(), 0, 0); 77 MouseEvent mouseev(
78 ET_MOUSE_PRESSED, origin, origin, EventTimeForNow(), 0, 0,
79 ui::PointerDetails(ui::EventPointerType::POINTER_TYPE_MOUSE));
78 for (int i = 1; i <=3 ; ++i) { 80 for (int i = 1; i <=3 ; ++i) {
79 mouseev.SetClickCount(i); 81 mouseev.SetClickCount(i);
80 EXPECT_EQ(i, mouseev.GetClickCount()); 82 EXPECT_EQ(i, mouseev.GetClickCount());
81 } 83 }
82 } 84 }
83 85
84 TEST(EventTest, RepeatedClick) { 86 TEST(EventTest, RepeatedClick) {
85 const gfx::Point origin(0, 0); 87 const gfx::Point origin(0, 0);
86 MouseEvent mouse_ev1(ET_MOUSE_PRESSED, origin, origin, EventTimeForNow(), 0, 88 MouseEvent mouse_ev1(
87 0); 89 ET_MOUSE_PRESSED, origin, origin, EventTimeForNow(), 0, 0,
88 MouseEvent mouse_ev2(ET_MOUSE_PRESSED, origin, origin, EventTimeForNow(), 0, 90 ui::PointerDetails(ui::EventPointerType::POINTER_TYPE_MOUSE));
89 0); 91 MouseEvent mouse_ev2(
92 ET_MOUSE_PRESSED, origin, origin, EventTimeForNow(), 0, 0,
93 ui::PointerDetails(ui::EventPointerType::POINTER_TYPE_MOUSE));
90 LocatedEventTestApi test_ev1(&mouse_ev1); 94 LocatedEventTestApi test_ev1(&mouse_ev1);
91 LocatedEventTestApi test_ev2(&mouse_ev2); 95 LocatedEventTestApi test_ev2(&mouse_ev2);
92 96
93 base::TimeTicks start = base::TimeTicks(); 97 base::TimeTicks start = base::TimeTicks();
94 base::TimeTicks soon = start + base::TimeDelta::FromMilliseconds(1); 98 base::TimeTicks soon = start + base::TimeDelta::FromMilliseconds(1);
95 base::TimeTicks later = start + base::TimeDelta::FromMilliseconds(1000); 99 base::TimeTicks later = start + base::TimeDelta::FromMilliseconds(1000);
96 100
97 // Same event. 101 // Same event.
98 test_ev1.set_location(gfx::Point(0, 0)); 102 test_ev1.set_location(gfx::Point(0, 0));
99 test_ev2.set_location(gfx::Point(1, 0)); 103 test_ev2.set_location(gfx::Point(1, 0));
(...skipping 29 matching lines...) Expand all
129 // double click if a release event was seen for the previous click. This 133 // double click if a release event was seen for the previous click. This
130 // prevents the same PRESSED event from being processed twice: 134 // prevents the same PRESSED event from being processed twice:
131 // http://crbug.com/389162 135 // http://crbug.com/389162
132 TEST(EventTest, DoubleClickRequiresRelease) { 136 TEST(EventTest, DoubleClickRequiresRelease) {
133 const gfx::Point origin1(0, 0); 137 const gfx::Point origin1(0, 0);
134 const gfx::Point origin2(100, 0); 138 const gfx::Point origin2(100, 0);
135 std::unique_ptr<MouseEvent> ev; 139 std::unique_ptr<MouseEvent> ev;
136 base::TimeTicks start = base::TimeTicks(); 140 base::TimeTicks start = base::TimeTicks();
137 base::TimeTicks soon = start + base::TimeDelta::FromMilliseconds(1); 141 base::TimeTicks soon = start + base::TimeDelta::FromMilliseconds(1);
138 142
139 ev.reset(new MouseEvent(ET_MOUSE_PRESSED, origin1, origin1, EventTimeForNow(), 143 ev.reset(new MouseEvent(
140 0, 0)); 144 ET_MOUSE_PRESSED, origin1, origin1, EventTimeForNow(), 0, 0,
145 ui::PointerDetails(ui::EventPointerType::POINTER_TYPE_MOUSE)));
141 ev->set_time_stamp(start); 146 ev->set_time_stamp(start);
142 EXPECT_EQ(1, MouseEvent::GetRepeatCount(*ev)); 147 EXPECT_EQ(1, MouseEvent::GetRepeatCount(*ev));
143 ev.reset(new MouseEvent(ET_MOUSE_PRESSED, origin1, origin1, EventTimeForNow(), 148 ev.reset(new MouseEvent(
144 0, 0)); 149 ET_MOUSE_PRESSED, origin1, origin1, EventTimeForNow(), 0, 0,
150 ui::PointerDetails(ui::EventPointerType::POINTER_TYPE_MOUSE)));
145 ev->set_time_stamp(start); 151 ev->set_time_stamp(start);
146 EXPECT_EQ(1, MouseEvent::GetRepeatCount(*ev)); 152 EXPECT_EQ(1, MouseEvent::GetRepeatCount(*ev));
147 153
148 ev.reset(new MouseEvent(ET_MOUSE_PRESSED, origin2, origin2, EventTimeForNow(), 154 ev.reset(new MouseEvent(
149 0, 0)); 155 ET_MOUSE_PRESSED, origin2, origin2, EventTimeForNow(), 0, 0,
156 ui::PointerDetails(ui::EventPointerType::POINTER_TYPE_MOUSE)));
150 ev->set_time_stamp(start); 157 ev->set_time_stamp(start);
151 EXPECT_EQ(1, MouseEvent::GetRepeatCount(*ev)); 158 EXPECT_EQ(1, MouseEvent::GetRepeatCount(*ev));
152 ev.reset(new MouseEvent(ET_MOUSE_RELEASED, origin2, origin2, 159 ev.reset(new MouseEvent(
153 EventTimeForNow(), 0, 0)); 160 ET_MOUSE_RELEASED, origin2, origin2, EventTimeForNow(), 0, 0,
161 ui::PointerDetails(ui::EventPointerType::POINTER_TYPE_MOUSE)));
154 ev->set_time_stamp(start); 162 ev->set_time_stamp(start);
155 EXPECT_EQ(1, MouseEvent::GetRepeatCount(*ev)); 163 EXPECT_EQ(1, MouseEvent::GetRepeatCount(*ev));
156 ev.reset(new MouseEvent(ET_MOUSE_PRESSED, origin2, origin2, EventTimeForNow(), 164 ev.reset(new MouseEvent(
157 0, 0)); 165 ET_MOUSE_PRESSED, origin2, origin2, EventTimeForNow(), 0, 0,
166 ui::PointerDetails(ui::EventPointerType::POINTER_TYPE_MOUSE)));
158 ev->set_time_stamp(soon); 167 ev->set_time_stamp(soon);
159 EXPECT_EQ(2, MouseEvent::GetRepeatCount(*ev)); 168 EXPECT_EQ(2, MouseEvent::GetRepeatCount(*ev));
160 ev.reset(new MouseEvent(ET_MOUSE_RELEASED, origin2, origin2, 169 ev.reset(new MouseEvent(
161 EventTimeForNow(), 0, 0)); 170 ET_MOUSE_RELEASED, origin2, origin2, EventTimeForNow(), 0, 0,
171 ui::PointerDetails(ui::EventPointerType::POINTER_TYPE_MOUSE)));
162 ev->set_time_stamp(soon); 172 ev->set_time_stamp(soon);
163 EXPECT_EQ(2, MouseEvent::GetRepeatCount(*ev)); 173 EXPECT_EQ(2, MouseEvent::GetRepeatCount(*ev));
164 MouseEvent::ResetLastClickForTest(); 174 MouseEvent::ResetLastClickForTest();
165 } 175 }
166 176
167 // Tests that clicking right and then left clicking does not generate a double 177 // Tests that clicking right and then left clicking does not generate a double
168 // click. 178 // click.
169 TEST(EventTest, SingleClickRightLeft) { 179 TEST(EventTest, SingleClickRightLeft) {
170 const gfx::Point origin(0, 0); 180 const gfx::Point origin(0, 0);
171 std::unique_ptr<MouseEvent> ev; 181 std::unique_ptr<MouseEvent> ev;
172 base::TimeTicks start = base::TimeTicks(); 182 base::TimeTicks start = base::TimeTicks();
173 base::TimeTicks soon = start + base::TimeDelta::FromMilliseconds(1); 183 base::TimeTicks soon = start + base::TimeDelta::FromMilliseconds(1);
174 184
175 ev.reset(new MouseEvent(ET_MOUSE_PRESSED, origin, origin, EventTimeForNow(), 185 ev.reset(new MouseEvent(
176 ui::EF_RIGHT_MOUSE_BUTTON, 186 ET_MOUSE_PRESSED, origin, origin, EventTimeForNow(),
177 ui::EF_RIGHT_MOUSE_BUTTON)); 187 ui::EF_RIGHT_MOUSE_BUTTON, ui::EF_RIGHT_MOUSE_BUTTON,
188 ui::PointerDetails(ui::EventPointerType::POINTER_TYPE_MOUSE)));
178 ev->set_time_stamp(start); 189 ev->set_time_stamp(start);
179 EXPECT_EQ(1, MouseEvent::GetRepeatCount(*ev)); 190 EXPECT_EQ(1, MouseEvent::GetRepeatCount(*ev));
180 ev.reset(new MouseEvent(ET_MOUSE_PRESSED, origin, origin, EventTimeForNow(), 191 ev.reset(new MouseEvent(
181 ui::EF_LEFT_MOUSE_BUTTON, ui::EF_LEFT_MOUSE_BUTTON)); 192 ET_MOUSE_PRESSED, origin, origin, EventTimeForNow(),
193 ui::EF_LEFT_MOUSE_BUTTON, ui::EF_LEFT_MOUSE_BUTTON,
194 ui::PointerDetails(ui::EventPointerType::POINTER_TYPE_MOUSE)));
182 ev->set_time_stamp(start); 195 ev->set_time_stamp(start);
183 EXPECT_EQ(1, MouseEvent::GetRepeatCount(*ev)); 196 EXPECT_EQ(1, MouseEvent::GetRepeatCount(*ev));
184 ev.reset(new MouseEvent(ET_MOUSE_RELEASED, origin, origin, EventTimeForNow(), 197 ev.reset(new MouseEvent(
185 ui::EF_LEFT_MOUSE_BUTTON, ui::EF_LEFT_MOUSE_BUTTON)); 198 ET_MOUSE_RELEASED, origin, origin, EventTimeForNow(),
199 ui::EF_LEFT_MOUSE_BUTTON, ui::EF_LEFT_MOUSE_BUTTON,
200 ui::PointerDetails(ui::EventPointerType::POINTER_TYPE_MOUSE)));
186 ev->set_time_stamp(start); 201 ev->set_time_stamp(start);
187 EXPECT_EQ(1, MouseEvent::GetRepeatCount(*ev)); 202 EXPECT_EQ(1, MouseEvent::GetRepeatCount(*ev));
188 ev.reset(new MouseEvent(ET_MOUSE_PRESSED, origin, origin, EventTimeForNow(), 203 ev.reset(new MouseEvent(
189 ui::EF_LEFT_MOUSE_BUTTON, ui::EF_LEFT_MOUSE_BUTTON)); 204 ET_MOUSE_PRESSED, origin, origin, EventTimeForNow(),
205 ui::EF_LEFT_MOUSE_BUTTON, ui::EF_LEFT_MOUSE_BUTTON,
206 ui::PointerDetails(ui::EventPointerType::POINTER_TYPE_MOUSE)));
190 ev->set_time_stamp(soon); 207 ev->set_time_stamp(soon);
191 EXPECT_EQ(2, MouseEvent::GetRepeatCount(*ev)); 208 EXPECT_EQ(2, MouseEvent::GetRepeatCount(*ev));
192 MouseEvent::ResetLastClickForTest(); 209 MouseEvent::ResetLastClickForTest();
193 } 210 }
194 211
195 TEST(EventTest, KeyEvent) { 212 TEST(EventTest, KeyEvent) {
196 static const struct { 213 static const struct {
197 KeyboardCode key_code; 214 KeyboardCode key_code;
198 int flags; 215 int flags;
199 uint16_t character; 216 uint16_t character;
(...skipping 485 matching lines...) Expand 10 before | Expand all | Expand 10 after
685 EXPECT_EQ(15.0f, touch_event_with_details.pointer_details().force); 702 EXPECT_EQ(15.0f, touch_event_with_details.pointer_details().force);
686 EXPECT_EQ(0.0f, touch_event_with_details.pointer_details().tilt_x); 703 EXPECT_EQ(0.0f, touch_event_with_details.pointer_details().tilt_x);
687 EXPECT_EQ(0.0f, touch_event_with_details.pointer_details().tilt_y); 704 EXPECT_EQ(0.0f, touch_event_with_details.pointer_details().tilt_y);
688 705
689 ui::TouchEvent touch_event_copy(touch_event_with_details); 706 ui::TouchEvent touch_event_copy(touch_event_with_details);
690 EXPECT_EQ(touch_event_with_details.pointer_details(), 707 EXPECT_EQ(touch_event_with_details.pointer_details(),
691 touch_event_copy.pointer_details()); 708 touch_event_copy.pointer_details());
692 } 709 }
693 710
694 TEST(EventTest, PointerDetailsMouse) { 711 TEST(EventTest, PointerDetailsMouse) {
695 ui::MouseEvent mouse_event(ET_MOUSE_PRESSED, gfx::Point(0, 0), 712 ui::MouseEvent mouse_event(
696 gfx::Point(0, 0), ui::EventTimeForNow(), 0, 0); 713 ET_MOUSE_PRESSED, gfx::Point(0, 0), gfx::Point(0, 0),
714 ui::EventTimeForNow(), 0, 0,
715 ui::PointerDetails(ui::EventPointerType::POINTER_TYPE_MOUSE));
697 716
698 EXPECT_EQ(EventPointerType::POINTER_TYPE_MOUSE, 717 EXPECT_EQ(EventPointerType::POINTER_TYPE_MOUSE,
699 mouse_event.pointer_details().pointer_type); 718 mouse_event.pointer_details().pointer_type);
700 EXPECT_EQ(0.0f, mouse_event.pointer_details().radius_x); 719 EXPECT_EQ(0.0f, mouse_event.pointer_details().radius_x);
701 EXPECT_EQ(0.0f, mouse_event.pointer_details().radius_y); 720 EXPECT_EQ(0.0f, mouse_event.pointer_details().radius_y);
702 EXPECT_TRUE(std::isnan(mouse_event.pointer_details().force)); 721 EXPECT_TRUE(std::isnan(mouse_event.pointer_details().force));
703 EXPECT_EQ(0.0f, mouse_event.pointer_details().tilt_x); 722 EXPECT_EQ(0.0f, mouse_event.pointer_details().tilt_x);
704 EXPECT_EQ(0.0f, mouse_event.pointer_details().tilt_y); 723 EXPECT_EQ(0.0f, mouse_event.pointer_details().tilt_y);
705 724
706 ui::MouseEvent mouse_event_copy(mouse_event); 725 ui::MouseEvent mouse_event_copy(mouse_event);
707 EXPECT_EQ(mouse_event.pointer_details(), mouse_event_copy.pointer_details()); 726 EXPECT_EQ(mouse_event.pointer_details(), mouse_event_copy.pointer_details());
708 } 727 }
709 728
710 TEST(EventTest, PointerDetailsStylus) { 729 TEST(EventTest, PointerDetailsStylus) {
711 ui::MouseEvent stylus_event(ET_MOUSE_PRESSED, gfx::Point(0, 0), 730 ui::MouseEvent stylus_event(
712 gfx::Point(0, 0), ui::EventTimeForNow(), 0, 0); 731 ET_MOUSE_PRESSED, gfx::Point(0, 0), gfx::Point(0, 0),
732 ui::EventTimeForNow(), 0, 0,
733 ui::PointerDetails(ui::EventPointerType::POINTER_TYPE_MOUSE));
713 ui::PointerDetails pointer_details(EventPointerType::POINTER_TYPE_PEN, 734 ui::PointerDetails pointer_details(EventPointerType::POINTER_TYPE_PEN,
714 /* pointer_id*/ 0, 735 /* pointer_id*/ 0,
715 /* radius_x */ 0.0f, 736 /* radius_x */ 0.0f,
716 /* radius_y */ 0.0f, 737 /* radius_y */ 0.0f,
717 /* force */ 21.0f, 738 /* force */ 21.0f,
718 /* tilt_x */ 45.0f, 739 /* tilt_x */ 45.0f,
719 /* tilt_y */ -45.0f, 740 /* tilt_y */ -45.0f,
720 /* tangential_pressure */ 0.7f, 741 /* tangential_pressure */ 0.7f,
721 /* twist */ 196); 742 /* twist */ 196);
722 743
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after
778 const gfx::Point point; 799 const gfx::Point point;
779 const base::TimeTicks time; 800 const base::TimeTicks time;
780 801
781 // Common mouse events can be converted. 802 // Common mouse events can be converted.
782 const EventType mouse_allowed[] = { 803 const EventType mouse_allowed[] = {
783 ET_MOUSE_PRESSED, ET_MOUSE_DRAGGED, ET_MOUSE_MOVED, 804 ET_MOUSE_PRESSED, ET_MOUSE_DRAGGED, ET_MOUSE_MOVED,
784 ET_MOUSE_ENTERED, ET_MOUSE_EXITED, ET_MOUSE_RELEASED, 805 ET_MOUSE_ENTERED, ET_MOUSE_EXITED, ET_MOUSE_RELEASED,
785 ET_MOUSE_CAPTURE_CHANGED, 806 ET_MOUSE_CAPTURE_CHANGED,
786 }; 807 };
787 for (size_t i = 0; i < arraysize(mouse_allowed); i++) { 808 for (size_t i = 0; i < arraysize(mouse_allowed); i++) {
788 MouseEvent event(mouse_allowed[i], point, point, time, 0, 0); 809 MouseEvent event(
810 mouse_allowed[i], point, point, time, 0, 0,
811 ui::PointerDetails(ui::EventPointerType::POINTER_TYPE_MOUSE));
789 EXPECT_TRUE(PointerEvent::CanConvertFrom(event)); 812 EXPECT_TRUE(PointerEvent::CanConvertFrom(event));
790 } 813 }
791 // Mouse wheel events can be converted. 814 // Mouse wheel events can be converted.
792 MouseWheelEvent event(gfx::Vector2d(), point, point, time, 0, 0); 815 MouseWheelEvent event(gfx::Vector2d(), point, point, time, 0, 0);
793 EXPECT_TRUE(PointerEvent::CanConvertFrom(event)); 816 EXPECT_TRUE(PointerEvent::CanConvertFrom(event));
794 817
795 // Common touch events can be converted. 818 // Common touch events can be converted.
796 const EventType touch_allowed[] = { 819 const EventType touch_allowed[] = {
797 ET_TOUCH_PRESSED, 820 ET_TOUCH_PRESSED,
798 ET_TOUCH_MOVED, 821 ET_TOUCH_MOVED,
(...skipping 23 matching lines...) Expand all
822 {ui::ET_MOUSE_RELEASED, ui::ET_POINTER_UP}, 845 {ui::ET_MOUSE_RELEASED, ui::ET_POINTER_UP},
823 }; 846 };
824 const ui::EventType kTouchTypeMap[][2] = { 847 const ui::EventType kTouchTypeMap[][2] = {
825 {ui::ET_TOUCH_PRESSED, ui::ET_POINTER_DOWN}, 848 {ui::ET_TOUCH_PRESSED, ui::ET_POINTER_DOWN},
826 {ui::ET_TOUCH_MOVED, ui::ET_POINTER_MOVED}, 849 {ui::ET_TOUCH_MOVED, ui::ET_POINTER_MOVED},
827 {ui::ET_TOUCH_RELEASED, ui::ET_POINTER_UP}, 850 {ui::ET_TOUCH_RELEASED, ui::ET_POINTER_UP},
828 {ui::ET_TOUCH_CANCELLED, ui::ET_POINTER_CANCELLED}, 851 {ui::ET_TOUCH_CANCELLED, ui::ET_POINTER_CANCELLED},
829 }; 852 };
830 853
831 for (size_t i = 0; i < arraysize(kMouseTypeMap); i++) { 854 for (size_t i = 0; i < arraysize(kMouseTypeMap); i++) {
832 ui::MouseEvent mouse_event(kMouseTypeMap[i][0], gfx::Point(0, 0), 855 ui::MouseEvent mouse_event(
833 gfx::Point(0, 0), base::TimeTicks(), 0, 0); 856 kMouseTypeMap[i][0], gfx::Point(0, 0), gfx::Point(0, 0),
857 base::TimeTicks(), 0, 0,
858 ui::PointerDetails(ui::EventPointerType::POINTER_TYPE_MOUSE));
834 ui::PointerEvent pointer_event(mouse_event); 859 ui::PointerEvent pointer_event(mouse_event);
835 EXPECT_EQ(kMouseTypeMap[i][1], pointer_event.type()); 860 EXPECT_EQ(kMouseTypeMap[i][1], pointer_event.type());
836 EXPECT_FALSE(pointer_event.IsMouseEvent()); 861 EXPECT_FALSE(pointer_event.IsMouseEvent());
837 EXPECT_FALSE(pointer_event.IsTouchEvent()); 862 EXPECT_FALSE(pointer_event.IsTouchEvent());
838 EXPECT_TRUE(pointer_event.IsPointerEvent()); 863 EXPECT_TRUE(pointer_event.IsPointerEvent());
839 } 864 }
840 865
841 for (size_t i = 0; i < arraysize(kTouchTypeMap); i++) { 866 for (size_t i = 0; i < arraysize(kTouchTypeMap); i++) {
842 ui::TouchEvent touch_event( 867 ui::TouchEvent touch_event(
843 kTouchTypeMap[i][0], gfx::Point(0, 0), base::TimeTicks(), 868 kTouchTypeMap[i][0], gfx::Point(0, 0), base::TimeTicks(),
844 PointerDetails(ui::EventPointerType::POINTER_TYPE_TOUCH, 0)); 869 PointerDetails(ui::EventPointerType::POINTER_TYPE_TOUCH, 0));
845 ui::PointerEvent pointer_event(touch_event); 870 ui::PointerEvent pointer_event(touch_event);
846 EXPECT_EQ(kTouchTypeMap[i][1], pointer_event.type()); 871 EXPECT_EQ(kTouchTypeMap[i][1], pointer_event.type());
847 EXPECT_FALSE(pointer_event.IsMouseEvent()); 872 EXPECT_FALSE(pointer_event.IsMouseEvent());
848 EXPECT_FALSE(pointer_event.IsTouchEvent()); 873 EXPECT_FALSE(pointer_event.IsTouchEvent());
849 EXPECT_TRUE(pointer_event.IsPointerEvent()); 874 EXPECT_TRUE(pointer_event.IsPointerEvent());
850 } 875 }
851 } 876 }
852 877
853 TEST(EventTest, PointerEventId) { 878 TEST(EventTest, PointerEventId) {
854 { 879 {
855 ui::MouseEvent mouse_event(ui::ET_MOUSE_PRESSED, gfx::Point(0, 0), 880 ui::MouseEvent mouse_event(
856 gfx::Point(0, 0), base::TimeTicks(), 0, 0); 881 ui::ET_MOUSE_PRESSED, gfx::Point(0, 0), gfx::Point(0, 0),
882 base::TimeTicks(), 0, 0,
883 ui::PointerDetails(ui::EventPointerType::POINTER_TYPE_MOUSE));
857 ui::PointerEvent pointer_event(mouse_event); 884 ui::PointerEvent pointer_event(mouse_event);
858 EXPECT_EQ(pointer_event.pointer_details().id, 885 EXPECT_EQ(pointer_event.pointer_details().id,
859 ui::PointerEvent::kMousePointerId); 886 ui::PointerEvent::kMousePointerId);
860 } 887 }
861 888
862 for (int touch_id = 0; touch_id < 8; touch_id++) { 889 for (int touch_id = 0; touch_id < 8; touch_id++) {
863 ui::TouchEvent touch_event( 890 ui::TouchEvent touch_event(
864 ui::ET_TOUCH_PRESSED, gfx::Point(0, 0), base::TimeTicks(), 891 ui::ET_TOUCH_PRESSED, gfx::Point(0, 0), base::TimeTicks(),
865 PointerDetails(ui::EventPointerType::POINTER_TYPE_TOUCH, touch_id)); 892 PointerDetails(ui::EventPointerType::POINTER_TYPE_TOUCH, touch_id));
866 ui::PointerEvent pointer_event(touch_event); 893 ui::PointerEvent pointer_event(touch_event);
(...skipping 15 matching lines...) Expand all
882 ui::PointerEvent pointer_event_from_touch(touch_event); 909 ui::PointerEvent pointer_event_from_touch(touch_event);
883 EXPECT_EQ(kRadiusX, pointer_event_from_touch.pointer_details().radius_x); 910 EXPECT_EQ(kRadiusX, pointer_event_from_touch.pointer_details().radius_x);
884 EXPECT_EQ(kRadiusY, pointer_event_from_touch.pointer_details().radius_y); 911 EXPECT_EQ(kRadiusY, pointer_event_from_touch.pointer_details().radius_y);
885 EXPECT_EQ(kForce, pointer_event_from_touch.pointer_details().force); 912 EXPECT_EQ(kForce, pointer_event_from_touch.pointer_details().force);
886 EXPECT_EQ(kRadiusX, pointer_event_from_touch.pointer_details().radius_x); 913 EXPECT_EQ(kRadiusX, pointer_event_from_touch.pointer_details().radius_x);
887 EXPECT_EQ(0.0f, pointer_event_from_touch.pointer_details().tilt_x); 914 EXPECT_EQ(0.0f, pointer_event_from_touch.pointer_details().tilt_x);
888 EXPECT_EQ(0.0f, pointer_event_from_touch.pointer_details().tilt_y); 915 EXPECT_EQ(0.0f, pointer_event_from_touch.pointer_details().tilt_y);
889 EXPECT_EQ(EventPointerType::POINTER_TYPE_TOUCH, 916 EXPECT_EQ(EventPointerType::POINTER_TYPE_TOUCH,
890 pointer_event_from_touch.pointer_details().pointer_type); 917 pointer_event_from_touch.pointer_details().pointer_type);
891 918
892 ui::MouseEvent mouse_event(ET_MOUSE_PRESSED, gfx::Point(0, 0), 919 ui::MouseEvent mouse_event(
893 gfx::Point(0, 0), ui::EventTimeForNow(), 0, 0); 920 ET_MOUSE_PRESSED, gfx::Point(0, 0), gfx::Point(0, 0),
921 ui::EventTimeForNow(), 0, 0,
922 ui::PointerDetails(ui::EventPointerType::POINTER_TYPE_MOUSE));
894 ui::PointerEvent pointer_event_from_mouse(mouse_event); 923 ui::PointerEvent pointer_event_from_mouse(mouse_event);
895 EXPECT_EQ(mouse_event.pointer_details(), 924 EXPECT_EQ(mouse_event.pointer_details(),
896 pointer_event_from_mouse.pointer_details()); 925 pointer_event_from_mouse.pointer_details());
897 } 926 }
898 927
899 TEST(EventTest, PointerEventClone) { 928 TEST(EventTest, PointerEventClone) {
900 { 929 {
901 ui::PointerEvent ptr_event(ui::TouchEvent( 930 ui::PointerEvent ptr_event(ui::TouchEvent(
902 ET_TOUCH_PRESSED, gfx::Point(0, 0), ui::EventTimeForNow(), 931 ET_TOUCH_PRESSED, gfx::Point(0, 0), ui::EventTimeForNow(),
903 PointerDetails(ui::EventPointerType::POINTER_TYPE_TOUCH, 932 PointerDetails(ui::EventPointerType::POINTER_TYPE_TOUCH,
904 /* pointer_id*/ 0, 933 /* pointer_id*/ 0,
905 /* radius_x */ 10.0f, 934 /* radius_x */ 10.0f,
906 /* radius_y */ 5.0f, 935 /* radius_y */ 5.0f,
907 /* force */ 15.0f))); 936 /* force */ 15.0f)));
908 std::unique_ptr<ui::Event> clone(ui::Event::Clone(ptr_event)); 937 std::unique_ptr<ui::Event> clone(ui::Event::Clone(ptr_event));
909 EXPECT_TRUE(clone->IsPointerEvent()); 938 EXPECT_TRUE(clone->IsPointerEvent());
910 ui::PointerEvent* clone_as_ptr = clone->AsPointerEvent(); 939 ui::PointerEvent* clone_as_ptr = clone->AsPointerEvent();
911 940
912 EXPECT_EQ(ptr_event.type(), clone_as_ptr->type()); 941 EXPECT_EQ(ptr_event.type(), clone_as_ptr->type());
913 EXPECT_EQ(ptr_event.pointer_details().id, 942 EXPECT_EQ(ptr_event.pointer_details().id,
914 clone_as_ptr->pointer_details().id); 943 clone_as_ptr->pointer_details().id);
915 EXPECT_EQ(ptr_event.pointer_details(), clone_as_ptr->pointer_details()); 944 EXPECT_EQ(ptr_event.pointer_details(), clone_as_ptr->pointer_details());
916 EXPECT_EQ(ptr_event.location(), clone_as_ptr->location()); 945 EXPECT_EQ(ptr_event.location(), clone_as_ptr->location());
917 EXPECT_EQ(ptr_event.root_location(), clone_as_ptr->root_location()); 946 EXPECT_EQ(ptr_event.root_location(), clone_as_ptr->root_location());
918 } 947 }
919 948
920 { 949 {
921 ui::PointerEvent ptr_event( 950 ui::PointerEvent ptr_event(ui::MouseEvent(
922 ui::MouseEvent(ET_MOUSE_PRESSED, gfx::Point(0, 0), gfx::Point(0, 0), 951 ET_MOUSE_PRESSED, gfx::Point(0, 0), gfx::Point(0, 0),
923 ui::EventTimeForNow(), 0, 0)); 952 ui::EventTimeForNow(), 0, 0,
953 ui::PointerDetails(ui::EventPointerType::POINTER_TYPE_MOUSE)));
924 std::unique_ptr<ui::Event> clone(ui::Event::Clone(ptr_event)); 954 std::unique_ptr<ui::Event> clone(ui::Event::Clone(ptr_event));
925 EXPECT_TRUE(clone->IsPointerEvent()); 955 EXPECT_TRUE(clone->IsPointerEvent());
926 ui::PointerEvent* clone_as_ptr = clone->AsPointerEvent(); 956 ui::PointerEvent* clone_as_ptr = clone->AsPointerEvent();
927 957
928 EXPECT_EQ(ptr_event.type(), clone_as_ptr->type()); 958 EXPECT_EQ(ptr_event.type(), clone_as_ptr->type());
929 EXPECT_EQ(ptr_event.pointer_details().id, 959 EXPECT_EQ(ptr_event.pointer_details().id,
930 clone_as_ptr->pointer_details().id); 960 clone_as_ptr->pointer_details().id);
931 EXPECT_EQ(ptr_event.pointer_details(), clone_as_ptr->pointer_details()); 961 EXPECT_EQ(ptr_event.pointer_details(), clone_as_ptr->pointer_details());
932 EXPECT_EQ(ptr_event.location(), clone_as_ptr->location()); 962 EXPECT_EQ(ptr_event.location(), clone_as_ptr->location());
933 EXPECT_EQ(ptr_event.root_location(), clone_as_ptr->root_location()); 963 EXPECT_EQ(ptr_event.root_location(), clone_as_ptr->root_location());
934 } 964 }
935 } 965 }
936 966
937 TEST(EventTest, MouseEventLatencyUIComponentExists) { 967 TEST(EventTest, MouseEventLatencyUIComponentExists) {
938 const gfx::Point origin(0, 0); 968 const gfx::Point origin(0, 0);
939 MouseEvent mouseev(ET_MOUSE_PRESSED, origin, origin, EventTimeForNow(), 0, 0); 969 MouseEvent mouseev(
970 ET_MOUSE_PRESSED, origin, origin, EventTimeForNow(), 0, 0,
971 ui::PointerDetails(ui::EventPointerType::POINTER_TYPE_MOUSE));
940 EXPECT_TRUE(mouseev.latency()->FindLatency( 972 EXPECT_TRUE(mouseev.latency()->FindLatency(
941 ui::INPUT_EVENT_LATENCY_UI_COMPONENT, 0, nullptr)); 973 ui::INPUT_EVENT_LATENCY_UI_COMPONENT, 0, nullptr));
942 } 974 }
943 975
944 TEST(EventTest, MouseWheelEventLatencyUIComponentExists) { 976 TEST(EventTest, MouseWheelEventLatencyUIComponentExists) {
945 const gfx::Point origin(0, 0); 977 const gfx::Point origin(0, 0);
946 MouseWheelEvent mouseWheelev(gfx::Vector2d(), origin, origin, 978 MouseWheelEvent mouseWheelev(gfx::Vector2d(), origin, origin,
947 EventTimeForNow(), 0, 0); 979 EventTimeForNow(), 0, 0);
948 EXPECT_TRUE(mouseWheelev.latency()->FindLatency( 980 EXPECT_TRUE(mouseWheelev.latency()->FindLatency(
949 ui::INPUT_EVENT_LATENCY_UI_COMPONENT, 0, nullptr)); 981 ui::INPUT_EVENT_LATENCY_UI_COMPONENT, 0, nullptr));
(...skipping 142 matching lines...) Expand 10 before | Expand all | Expand 10 after
1092 XButtonEvent* button_event = &(native_event.xbutton); 1124 XButtonEvent* button_event = &(native_event.xbutton);
1093 button_event->type = ButtonPress; 1125 button_event->type = ButtonPress;
1094 button_event->button = 4; // A valid wheel button number between min and max. 1126 button_event->button = 4; // A valid wheel button number between min and max.
1095 MouseWheelEvent mouse_ev(&native_event); 1127 MouseWheelEvent mouse_ev(&native_event);
1096 1128
1097 histogram_tester.ExpectTotalCount("Event.Latency.OS.MOUSE_WHEEL", 1); 1129 histogram_tester.ExpectTotalCount("Event.Latency.OS.MOUSE_WHEEL", 1);
1098 #endif 1130 #endif
1099 } 1131 }
1100 1132
1101 } // namespace ui 1133 } // namespace ui
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698