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

Side by Side Diff: ui/events/ozone/evdev/event_device_info_unittest.cc

Issue 2805793002: ozone: evdev: Add gamepad support (Closed)
Patch Set: 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 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 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/format_macros.h" 5 #include "base/format_macros.h"
6 #include "base/macros.h" 6 #include "base/macros.h"
7 #include "base/strings/string_number_conversions.h" 7 #include "base/strings/string_number_conversions.h"
8 #include "base/strings/string_split.h" 8 #include "base/strings/string_split.h"
9 #include "base/strings/string_util.h" 9 #include "base/strings/string_util.h"
10 #include "base/strings/stringprintf.h" 10 #include "base/strings/stringprintf.h"
11 #include "testing/gtest/include/gtest/gtest.h" 11 #include "testing/gtest/include/gtest/gtest.h"
12 #include "ui/events/ozone/evdev/event_device_info.h" 12 #include "ui/events/ozone/evdev/event_device_info.h"
13 #include "ui/events/ozone/evdev/event_device_test_util.h" 13 #include "ui/events/ozone/evdev/event_device_test_util.h"
14 #include "ui/events/ozone/evdev/event_device_util.h" 14 #include "ui/events/ozone/evdev/event_device_util.h"
15 15
16 namespace ui { 16 namespace ui {
17 17
18 class EventDeviceInfoTest : public testing::Test { 18 class EventDeviceInfoTest : public testing::Test {
19 public: 19 public:
20 EventDeviceInfoTest(); 20 EventDeviceInfoTest();
21 21
22 private: 22 private:
23 DISALLOW_COPY_AND_ASSIGN(EventDeviceInfoTest); 23 DISALLOW_COPY_AND_ASSIGN(EventDeviceInfoTest);
24 }; 24 };
25 25
26 EventDeviceInfoTest::EventDeviceInfoTest() { 26 EventDeviceInfoTest::EventDeviceInfoTest() {
27 } 27 }
28 28
29 TEST_F(EventDeviceInfoTest, BasicCrosGamepad) {
spang 2017/04/13 00:52:19 It's not a "Cros" device; that's referring to devi
jkwang 2017/04/19 19:42:22 Done.
30 EventDeviceInfo devinfo;
31 EXPECT_TRUE(CapabilitiesToDeviceInfo(kLinkGamepad, &devinfo));
32
33 EXPECT_FALSE(devinfo.HasKeyboard());
34 EXPECT_FALSE(devinfo.HasMouse());
35 EXPECT_FALSE(devinfo.HasTouchpad());
36 EXPECT_FALSE(devinfo.HasTouchscreen());
37 EXPECT_FALSE(devinfo.HasTablet());
38 EXPECT_TRUE(devinfo.HasGamepad());
39 }
40
29 TEST_F(EventDeviceInfoTest, BasicCrosKeyboard) { 41 TEST_F(EventDeviceInfoTest, BasicCrosKeyboard) {
30 EventDeviceInfo devinfo; 42 EventDeviceInfo devinfo;
31 EXPECT_TRUE(CapabilitiesToDeviceInfo(kLinkKeyboard, &devinfo)); 43 EXPECT_TRUE(CapabilitiesToDeviceInfo(kLinkKeyboard, &devinfo));
32 44
33 EXPECT_TRUE(devinfo.HasKeyboard()); 45 EXPECT_TRUE(devinfo.HasKeyboard());
34 EXPECT_FALSE(devinfo.HasMouse()); 46 EXPECT_FALSE(devinfo.HasMouse());
35 EXPECT_FALSE(devinfo.HasTouchpad()); 47 EXPECT_FALSE(devinfo.HasTouchpad());
36 EXPECT_FALSE(devinfo.HasTouchscreen()); 48 EXPECT_FALSE(devinfo.HasTouchscreen());
37 EXPECT_FALSE(devinfo.HasTablet()); 49 EXPECT_FALSE(devinfo.HasTablet());
50 EXPECT_FALSE(devinfo.HasGamepad());
38 } 51 }
39 52
40 TEST_F(EventDeviceInfoTest, BasicCrosTouchscreen) { 53 TEST_F(EventDeviceInfoTest, BasicCrosTouchscreen) {
41 EventDeviceInfo devinfo; 54 EventDeviceInfo devinfo;
42 EXPECT_TRUE(CapabilitiesToDeviceInfo(kLinkTouchscreen, &devinfo)); 55 EXPECT_TRUE(CapabilitiesToDeviceInfo(kLinkTouchscreen, &devinfo));
43 56
44 EXPECT_FALSE(devinfo.HasKeyboard()); 57 EXPECT_FALSE(devinfo.HasKeyboard());
45 EXPECT_FALSE(devinfo.HasMouse()); 58 EXPECT_FALSE(devinfo.HasMouse());
46 EXPECT_FALSE(devinfo.HasTouchpad()); 59 EXPECT_FALSE(devinfo.HasTouchpad());
47 EXPECT_TRUE(devinfo.HasTouchscreen()); 60 EXPECT_TRUE(devinfo.HasTouchscreen());
48 EXPECT_FALSE(devinfo.HasTablet()); 61 EXPECT_FALSE(devinfo.HasTablet());
62 EXPECT_FALSE(devinfo.HasGamepad());
49 } 63 }
50 64
51 TEST_F(EventDeviceInfoTest, BasicCrosTouchpad) { 65 TEST_F(EventDeviceInfoTest, BasicCrosTouchpad) {
52 EventDeviceInfo devinfo; 66 EventDeviceInfo devinfo;
53 EXPECT_TRUE(CapabilitiesToDeviceInfo(kLinkTouchpad, &devinfo)); 67 EXPECT_TRUE(CapabilitiesToDeviceInfo(kLinkTouchpad, &devinfo));
54 68
55 EXPECT_FALSE(devinfo.HasKeyboard()); 69 EXPECT_FALSE(devinfo.HasKeyboard());
56 EXPECT_FALSE(devinfo.HasMouse()); 70 EXPECT_FALSE(devinfo.HasMouse());
57 EXPECT_TRUE(devinfo.HasTouchpad()); 71 EXPECT_TRUE(devinfo.HasTouchpad());
58 EXPECT_FALSE(devinfo.HasTouchscreen()); 72 EXPECT_FALSE(devinfo.HasTouchscreen());
59 EXPECT_FALSE(devinfo.HasTablet()); 73 EXPECT_FALSE(devinfo.HasTablet());
74 EXPECT_FALSE(devinfo.HasGamepad());
60 } 75 }
61 76
62 TEST_F(EventDeviceInfoTest, BasicUsbKeyboard) { 77 TEST_F(EventDeviceInfoTest, BasicUsbKeyboard) {
63 EventDeviceInfo devinfo; 78 EventDeviceInfo devinfo;
64 EXPECT_TRUE(CapabilitiesToDeviceInfo(kHpUsbKeyboard, &devinfo)); 79 EXPECT_TRUE(CapabilitiesToDeviceInfo(kHpUsbKeyboard, &devinfo));
65 80
66 EXPECT_TRUE(devinfo.HasKeyboard()); 81 EXPECT_TRUE(devinfo.HasKeyboard());
67 EXPECT_FALSE(devinfo.HasMouse()); 82 EXPECT_FALSE(devinfo.HasMouse());
68 EXPECT_FALSE(devinfo.HasTouchpad()); 83 EXPECT_FALSE(devinfo.HasTouchpad());
69 EXPECT_FALSE(devinfo.HasTouchscreen()); 84 EXPECT_FALSE(devinfo.HasTouchscreen());
70 EXPECT_FALSE(devinfo.HasTablet()); 85 EXPECT_FALSE(devinfo.HasTablet());
86 EXPECT_FALSE(devinfo.HasGamepad());
71 } 87 }
72 88
73 TEST_F(EventDeviceInfoTest, BasicUsbKeyboard_Extra) { 89 TEST_F(EventDeviceInfoTest, BasicUsbKeyboard_Extra) {
74 EventDeviceInfo devinfo; 90 EventDeviceInfo devinfo;
75 EXPECT_TRUE(CapabilitiesToDeviceInfo(kHpUsbKeyboard_Extra, &devinfo)); 91 EXPECT_TRUE(CapabilitiesToDeviceInfo(kHpUsbKeyboard_Extra, &devinfo));
76 92
77 EXPECT_FALSE(devinfo.HasKeyboard()); // Has keys, but not a full keyboard. 93 EXPECT_FALSE(devinfo.HasKeyboard()); // Has keys, but not a full keyboard.
78 EXPECT_FALSE(devinfo.HasMouse()); 94 EXPECT_FALSE(devinfo.HasMouse());
79 EXPECT_FALSE(devinfo.HasTouchpad()); 95 EXPECT_FALSE(devinfo.HasTouchpad());
80 EXPECT_FALSE(devinfo.HasTouchscreen()); 96 EXPECT_FALSE(devinfo.HasTouchscreen());
81 EXPECT_FALSE(devinfo.HasTablet()); 97 EXPECT_FALSE(devinfo.HasTablet());
98 EXPECT_FALSE(devinfo.HasGamepad());
82 } 99 }
83 100
84 TEST_F(EventDeviceInfoTest, BasicUsbMouse) { 101 TEST_F(EventDeviceInfoTest, BasicUsbMouse) {
85 EventDeviceInfo devinfo; 102 EventDeviceInfo devinfo;
86 EXPECT_TRUE(CapabilitiesToDeviceInfo(kLogitechUsbMouse, &devinfo)); 103 EXPECT_TRUE(CapabilitiesToDeviceInfo(kLogitechUsbMouse, &devinfo));
87 104
88 EXPECT_FALSE(devinfo.HasKeyboard()); 105 EXPECT_FALSE(devinfo.HasKeyboard());
89 EXPECT_TRUE(devinfo.HasMouse()); 106 EXPECT_TRUE(devinfo.HasMouse());
90 EXPECT_FALSE(devinfo.HasTouchpad()); 107 EXPECT_FALSE(devinfo.HasTouchpad());
91 EXPECT_FALSE(devinfo.HasTouchscreen()); 108 EXPECT_FALSE(devinfo.HasTouchscreen());
92 EXPECT_FALSE(devinfo.HasTablet()); 109 EXPECT_FALSE(devinfo.HasTablet());
110 EXPECT_FALSE(devinfo.HasGamepad());
93 } 111 }
94 112
95 TEST_F(EventDeviceInfoTest, BasicUsbTouchscreen) { 113 TEST_F(EventDeviceInfoTest, BasicUsbTouchscreen) {
96 EventDeviceInfo devinfo; 114 EventDeviceInfo devinfo;
97 EXPECT_TRUE(CapabilitiesToDeviceInfo(kMimoTouch2Touchscreen, &devinfo)); 115 EXPECT_TRUE(CapabilitiesToDeviceInfo(kMimoTouch2Touchscreen, &devinfo));
98 116
99 EXPECT_FALSE(devinfo.HasKeyboard()); 117 EXPECT_FALSE(devinfo.HasKeyboard());
100 EXPECT_FALSE(devinfo.HasMouse()); 118 EXPECT_FALSE(devinfo.HasMouse());
101 EXPECT_FALSE(devinfo.HasTouchpad()); 119 EXPECT_FALSE(devinfo.HasTouchpad());
102 EXPECT_TRUE(devinfo.HasTouchscreen()); 120 EXPECT_TRUE(devinfo.HasTouchscreen());
103 EXPECT_FALSE(devinfo.HasTablet()); 121 EXPECT_FALSE(devinfo.HasTablet());
122 EXPECT_FALSE(devinfo.HasGamepad());
104 } 123 }
105 124
106 TEST_F(EventDeviceInfoTest, BasicUsbTablet) { 125 TEST_F(EventDeviceInfoTest, BasicUsbTablet) {
107 EventDeviceInfo devinfo; 126 EventDeviceInfo devinfo;
108 EXPECT_TRUE(CapabilitiesToDeviceInfo(kWacomIntuosPtS_Pen, &devinfo)); 127 EXPECT_TRUE(CapabilitiesToDeviceInfo(kWacomIntuosPtS_Pen, &devinfo));
109 128
110 EXPECT_FALSE(devinfo.HasKeyboard()); 129 EXPECT_FALSE(devinfo.HasKeyboard());
111 EXPECT_FALSE(devinfo.HasMouse()); 130 EXPECT_FALSE(devinfo.HasMouse());
112 EXPECT_FALSE(devinfo.HasTouchpad()); 131 EXPECT_FALSE(devinfo.HasTouchpad());
113 EXPECT_FALSE(devinfo.HasTouchscreen()); 132 EXPECT_FALSE(devinfo.HasTouchscreen());
114 EXPECT_TRUE(devinfo.HasTablet()); 133 EXPECT_TRUE(devinfo.HasTablet());
134 EXPECT_FALSE(devinfo.HasGamepad());
115 } 135 }
116 136
117 TEST_F(EventDeviceInfoTest, BasicUsbTouchpad) { 137 TEST_F(EventDeviceInfoTest, BasicUsbTouchpad) {
118 EventDeviceInfo devinfo; 138 EventDeviceInfo devinfo;
119 EXPECT_TRUE(CapabilitiesToDeviceInfo(kWacomIntuosPtS_Finger, &devinfo)); 139 EXPECT_TRUE(CapabilitiesToDeviceInfo(kWacomIntuosPtS_Finger, &devinfo));
120 140
121 EXPECT_FALSE(devinfo.HasKeyboard()); 141 EXPECT_FALSE(devinfo.HasKeyboard());
122 EXPECT_FALSE(devinfo.HasMouse()); 142 EXPECT_FALSE(devinfo.HasMouse());
123 EXPECT_TRUE(devinfo.HasTouchpad()); 143 EXPECT_TRUE(devinfo.HasTouchpad());
124 EXPECT_FALSE(devinfo.HasTouchscreen()); 144 EXPECT_FALSE(devinfo.HasTouchscreen());
125 EXPECT_FALSE(devinfo.HasTablet()); 145 EXPECT_FALSE(devinfo.HasTablet());
146 EXPECT_FALSE(devinfo.HasGamepad());
126 } 147 }
127 148
128 TEST_F(EventDeviceInfoTest, HybridKeyboardWithMouse) { 149 TEST_F(EventDeviceInfoTest, HybridKeyboardWithMouse) {
129 EventDeviceInfo devinfo; 150 EventDeviceInfo devinfo;
130 EXPECT_TRUE(CapabilitiesToDeviceInfo(kLogitechTouchKeyboardK400, &devinfo)); 151 EXPECT_TRUE(CapabilitiesToDeviceInfo(kLogitechTouchKeyboardK400, &devinfo));
131 152
132 // The touchpad actually exposes mouse (relative) Events. 153 // The touchpad actually exposes mouse (relative) Events.
133 EXPECT_TRUE(devinfo.HasKeyboard()); 154 EXPECT_TRUE(devinfo.HasKeyboard());
134 EXPECT_TRUE(devinfo.HasMouse()); 155 EXPECT_TRUE(devinfo.HasMouse());
135 EXPECT_FALSE(devinfo.HasTouchpad()); 156 EXPECT_FALSE(devinfo.HasTouchpad());
136 EXPECT_FALSE(devinfo.HasTouchscreen()); 157 EXPECT_FALSE(devinfo.HasTouchscreen());
137 EXPECT_FALSE(devinfo.HasTablet()); 158 EXPECT_FALSE(devinfo.HasTablet());
159 EXPECT_FALSE(devinfo.HasGamepad());
138 } 160 }
139 161
140 TEST_F(EventDeviceInfoTest, AbsoluteMouseTouchscreen) { 162 TEST_F(EventDeviceInfoTest, AbsoluteMouseTouchscreen) {
141 EventDeviceInfo devinfo; 163 EventDeviceInfo devinfo;
142 EXPECT_TRUE(CapabilitiesToDeviceInfo(kElo_TouchSystems_2700, &devinfo)); 164 EXPECT_TRUE(CapabilitiesToDeviceInfo(kElo_TouchSystems_2700, &devinfo));
143 165
144 // This touchscreen uses BTN_LEFT for touch contact. 166 // This touchscreen uses BTN_LEFT for touch contact.
145 EXPECT_FALSE(devinfo.HasKeyboard()); 167 EXPECT_FALSE(devinfo.HasKeyboard());
146 EXPECT_FALSE(devinfo.HasMouse()); 168 EXPECT_FALSE(devinfo.HasMouse());
147 EXPECT_FALSE(devinfo.HasTouchpad()); 169 EXPECT_FALSE(devinfo.HasTouchpad());
148 EXPECT_TRUE(devinfo.HasTouchscreen()); 170 EXPECT_TRUE(devinfo.HasTouchscreen());
149 EXPECT_FALSE(devinfo.HasTablet()); 171 EXPECT_FALSE(devinfo.HasTablet());
172 EXPECT_FALSE(devinfo.HasGamepad());
150 } 173 }
151 174
152 TEST_F(EventDeviceInfoTest, OnScreenStylus) { 175 TEST_F(EventDeviceInfoTest, OnScreenStylus) {
153 EventDeviceInfo devinfo; 176 EventDeviceInfo devinfo;
154 EXPECT_TRUE(CapabilitiesToDeviceInfo(kWilsonBeachActiveStylus, &devinfo)); 177 EXPECT_TRUE(CapabilitiesToDeviceInfo(kWilsonBeachActiveStylus, &devinfo));
155 178
156 EXPECT_FALSE(devinfo.HasKeyboard()); 179 EXPECT_FALSE(devinfo.HasKeyboard());
157 EXPECT_FALSE(devinfo.HasMouse()); 180 EXPECT_FALSE(devinfo.HasMouse());
158 EXPECT_FALSE(devinfo.HasTouchpad()); 181 EXPECT_FALSE(devinfo.HasTouchpad());
159 EXPECT_TRUE(devinfo.HasTouchscreen()); 182 EXPECT_TRUE(devinfo.HasTouchscreen());
160 EXPECT_FALSE(devinfo.HasTablet()); 183 EXPECT_FALSE(devinfo.HasTablet());
184 EXPECT_FALSE(devinfo.HasGamepad());
161 } 185 }
162 186
163 } // namespace ui 187 } // namespace ui
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698