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

Side by Side Diff: ash/touch/touchscreen_util_unittest.cc

Issue 2445583002: Relocate display_manager from ash to ui (Closed)
Patch Set: Created 4 years, 1 month 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 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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 <string> 5 #include <string>
6 #include <vector> 6 #include <vector>
7 7
8 #include "ash/shell.h" 8 #include "ash/shell.h"
9 #include "ash/test/ash_test_base.h" 9 #include "ash/test/ash_test_base.h"
10 #include "ash/test/display_manager_test_api.h"
11 #include "ash/touch/touchscreen_util.h" 10 #include "ash/touch/touchscreen_util.h"
12 #include "testing/gtest/include/gtest/gtest.h" 11 #include "testing/gtest/include/gtest/gtest.h"
13 #include "ui/display/manager/managed_display_info.h" 12 #include "ui/display/manager/managed_display_info.h"
13 #include "ui/display/test/display_manager_test_api.h"
14 #include "ui/events/devices/input_device.h" 14 #include "ui/events/devices/input_device.h"
15 15
16 namespace ash { 16 namespace ash {
17 17
18 using DisplayInfoList = std::vector<display::ManagedDisplayInfo>; 18 using DisplayInfoList = std::vector<display::ManagedDisplayInfo>;
19 19
20 class TouchscreenUtilTest : public test::AshTestBase { 20 class TouchscreenUtilTest : public test::AshTestBase {
21 public: 21 public:
22 TouchscreenUtilTest() {} 22 TouchscreenUtilTest() {}
23 ~TouchscreenUtilTest() override {} 23 ~TouchscreenUtilTest() override {}
(...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after
80 protected: 80 protected:
81 DisplayInfoList displays_; 81 DisplayInfoList displays_;
82 82
83 private: 83 private:
84 DISALLOW_COPY_AND_ASSIGN(TouchscreenUtilTest); 84 DISALLOW_COPY_AND_ASSIGN(TouchscreenUtilTest);
85 }; 85 };
86 86
87 TEST_F(TouchscreenUtilTest, NoTouchscreens) { 87 TEST_F(TouchscreenUtilTest, NoTouchscreens) {
88 std::vector<ui::TouchscreenDevice> devices; 88 std::vector<ui::TouchscreenDevice> devices;
89 89
90 test::ScopedSetInternalDisplayId set_internal(display_manager(), 90 display::test::ScopedSetInternalDisplayId set_internal(display_manager(),
91 displays_[0].id()); 91 displays_[0].id());
92 AssociateTouchscreens(&displays_, devices); 92 AssociateTouchscreens(&displays_, devices);
93 93
94 for (size_t i = 0; i < displays_.size(); ++i) 94 for (size_t i = 0; i < displays_.size(); ++i)
95 EXPECT_EQ(0u, displays_[i].input_devices().size()); 95 EXPECT_EQ(0u, displays_[i].input_devices().size());
96 } 96 }
97 97
98 // Verify that if there are a lot of touchscreens, they will all get associated 98 // Verify that if there are a lot of touchscreens, they will all get associated
99 // with a display. 99 // with a display.
100 TEST_F(TouchscreenUtilTest, ManyTouchscreens) { 100 TEST_F(TouchscreenUtilTest, ManyTouchscreens) {
101 std::vector<ui::TouchscreenDevice> devices; 101 std::vector<ui::TouchscreenDevice> devices;
102 for (int i = 0; i < 5; ++i) { 102 for (int i = 0; i < 5; ++i) {
103 devices.push_back( 103 devices.push_back(
104 ui::TouchscreenDevice(i, ui::InputDeviceType::INPUT_DEVICE_EXTERNAL, "", 104 ui::TouchscreenDevice(i, ui::InputDeviceType::INPUT_DEVICE_EXTERNAL, "",
105 gfx::Size(256, 256), 0)); 105 gfx::Size(256, 256), 0));
106 } 106 }
107 107
108 DisplayInfoList displays; 108 DisplayInfoList displays;
109 displays.push_back(displays_[3]); 109 displays.push_back(displays_[3]);
110 110
111 test::ScopedSetInternalDisplayId set_internal(display_manager(), 111 display::test::ScopedSetInternalDisplayId set_internal(display_manager(),
112 displays_[0].id()); 112 displays_[0].id());
113 AssociateTouchscreens(&displays, devices); 113 AssociateTouchscreens(&displays, devices);
114 114
115 for (int i = 0; i < 5; ++i) 115 for (int i = 0; i < 5; ++i)
116 EXPECT_EQ(i, displays[0].input_devices()[i]); 116 EXPECT_EQ(i, displays[0].input_devices()[i]);
117 } 117 }
118 118
119 TEST_F(TouchscreenUtilTest, OneToOneMapping) { 119 TEST_F(TouchscreenUtilTest, OneToOneMapping) {
120 std::vector<ui::TouchscreenDevice> devices; 120 std::vector<ui::TouchscreenDevice> devices;
121 devices.push_back( 121 devices.push_back(
122 ui::TouchscreenDevice(1, ui::InputDeviceType::INPUT_DEVICE_EXTERNAL, "1", 122 ui::TouchscreenDevice(1, ui::InputDeviceType::INPUT_DEVICE_EXTERNAL, "1",
123 gfx::Size(800, 600), 0)); 123 gfx::Size(800, 600), 0));
124 devices.push_back( 124 devices.push_back(
125 ui::TouchscreenDevice(2, ui::InputDeviceType::INPUT_DEVICE_EXTERNAL, "2", 125 ui::TouchscreenDevice(2, ui::InputDeviceType::INPUT_DEVICE_EXTERNAL, "2",
126 gfx::Size(1024, 768), 0)); 126 gfx::Size(1024, 768), 0));
127 127
128 test::ScopedSetInternalDisplayId set_internal(display_manager(), 128 display::test::ScopedSetInternalDisplayId set_internal(display_manager(),
129 displays_[0].id()); 129 displays_[0].id());
130 AssociateTouchscreens(&displays_, devices); 130 AssociateTouchscreens(&displays_, devices);
131 131
132 EXPECT_EQ(0u, displays_[0].input_devices().size()); 132 EXPECT_EQ(0u, displays_[0].input_devices().size());
133 EXPECT_EQ(1u, displays_[1].input_devices().size()); 133 EXPECT_EQ(1u, displays_[1].input_devices().size());
134 EXPECT_EQ(1, displays_[1].input_devices()[0]); 134 EXPECT_EQ(1, displays_[1].input_devices()[0]);
135 EXPECT_EQ(0u, displays_[2].input_devices().size()); 135 EXPECT_EQ(0u, displays_[2].input_devices().size());
136 EXPECT_EQ(1u, displays_[3].input_devices().size()); 136 EXPECT_EQ(1u, displays_[3].input_devices().size());
137 EXPECT_EQ(2, displays_[3].input_devices()[0]); 137 EXPECT_EQ(2, displays_[3].input_devices()[0]);
138 } 138 }
139 139
140 TEST_F(TouchscreenUtilTest, MapToCorrectDisplaySize) { 140 TEST_F(TouchscreenUtilTest, MapToCorrectDisplaySize) {
141 std::vector<ui::TouchscreenDevice> devices; 141 std::vector<ui::TouchscreenDevice> devices;
142 devices.push_back( 142 devices.push_back(
143 ui::TouchscreenDevice(2, ui::InputDeviceType::INPUT_DEVICE_EXTERNAL, "2", 143 ui::TouchscreenDevice(2, ui::InputDeviceType::INPUT_DEVICE_EXTERNAL, "2",
144 gfx::Size(1024, 768), 0)); 144 gfx::Size(1024, 768), 0));
145 145
146 test::ScopedSetInternalDisplayId set_internal(display_manager(), 146 display::test::ScopedSetInternalDisplayId set_internal(display_manager(),
147 displays_[0].id()); 147 displays_[0].id());
148 AssociateTouchscreens(&displays_, devices); 148 AssociateTouchscreens(&displays_, devices);
149 149
150 EXPECT_EQ(0u, displays_[0].input_devices().size()); 150 EXPECT_EQ(0u, displays_[0].input_devices().size());
151 EXPECT_EQ(0u, displays_[1].input_devices().size()); 151 EXPECT_EQ(0u, displays_[1].input_devices().size());
152 EXPECT_EQ(0u, displays_[2].input_devices().size()); 152 EXPECT_EQ(0u, displays_[2].input_devices().size());
153 EXPECT_EQ(1u, displays_[3].input_devices().size()); 153 EXPECT_EQ(1u, displays_[3].input_devices().size());
154 EXPECT_EQ(2, displays_[3].input_devices()[0]); 154 EXPECT_EQ(2, displays_[3].input_devices()[0]);
155 } 155 }
156 156
157 TEST_F(TouchscreenUtilTest, MapWhenSizeDiffersByOne) { 157 TEST_F(TouchscreenUtilTest, MapWhenSizeDiffersByOne) {
158 std::vector<ui::TouchscreenDevice> devices; 158 std::vector<ui::TouchscreenDevice> devices;
159 devices.push_back( 159 devices.push_back(
160 ui::TouchscreenDevice(1, ui::InputDeviceType::INPUT_DEVICE_EXTERNAL, "1", 160 ui::TouchscreenDevice(1, ui::InputDeviceType::INPUT_DEVICE_EXTERNAL, "1",
161 gfx::Size(801, 600), 0)); 161 gfx::Size(801, 600), 0));
162 devices.push_back( 162 devices.push_back(
163 ui::TouchscreenDevice(2, ui::InputDeviceType::INPUT_DEVICE_EXTERNAL, "2", 163 ui::TouchscreenDevice(2, ui::InputDeviceType::INPUT_DEVICE_EXTERNAL, "2",
164 gfx::Size(1023, 768), 0)); 164 gfx::Size(1023, 768), 0));
165 165
166 test::ScopedSetInternalDisplayId set_internal(display_manager(), 166 display::test::ScopedSetInternalDisplayId set_internal(display_manager(),
167 displays_[0].id()); 167 displays_[0].id());
168 AssociateTouchscreens(&displays_, devices); 168 AssociateTouchscreens(&displays_, devices);
169 169
170 EXPECT_EQ(0u, displays_[0].input_devices().size()); 170 EXPECT_EQ(0u, displays_[0].input_devices().size());
171 EXPECT_EQ(1u, displays_[1].input_devices().size()); 171 EXPECT_EQ(1u, displays_[1].input_devices().size());
172 EXPECT_EQ(1, displays_[1].input_devices()[0]); 172 EXPECT_EQ(1, displays_[1].input_devices()[0]);
173 EXPECT_EQ(0u, displays_[2].input_devices().size()); 173 EXPECT_EQ(0u, displays_[2].input_devices().size());
174 EXPECT_EQ(1u, displays_[3].input_devices().size()); 174 EXPECT_EQ(1u, displays_[3].input_devices().size());
175 EXPECT_EQ(2, displays_[3].input_devices()[0]); 175 EXPECT_EQ(2, displays_[3].input_devices()[0]);
176 } 176 }
177 177
178 TEST_F(TouchscreenUtilTest, MapWhenSizesDoNotMatch) { 178 TEST_F(TouchscreenUtilTest, MapWhenSizesDoNotMatch) {
179 std::vector<ui::TouchscreenDevice> devices; 179 std::vector<ui::TouchscreenDevice> devices;
180 devices.push_back( 180 devices.push_back(
181 ui::TouchscreenDevice(1, ui::InputDeviceType::INPUT_DEVICE_EXTERNAL, "1", 181 ui::TouchscreenDevice(1, ui::InputDeviceType::INPUT_DEVICE_EXTERNAL, "1",
182 gfx::Size(1022, 768), 0)); 182 gfx::Size(1022, 768), 0));
183 devices.push_back( 183 devices.push_back(
184 ui::TouchscreenDevice(2, ui::InputDeviceType::INPUT_DEVICE_EXTERNAL, "2", 184 ui::TouchscreenDevice(2, ui::InputDeviceType::INPUT_DEVICE_EXTERNAL, "2",
185 gfx::Size(802, 600), 0)); 185 gfx::Size(802, 600), 0));
186 186
187 DisplayInfoList displays; 187 DisplayInfoList displays;
188 displays.push_back(displays_[0]); 188 displays.push_back(displays_[0]);
189 displays.push_back(displays_[1]); 189 displays.push_back(displays_[1]);
190 190
191 test::ScopedSetInternalDisplayId set_internal(display_manager(), 191 display::test::ScopedSetInternalDisplayId set_internal(display_manager(),
192 displays[0].id()); 192 displays[0].id());
193 AssociateTouchscreens(&displays, devices); 193 AssociateTouchscreens(&displays, devices);
194 194
195 EXPECT_EQ(0u, displays[0].input_devices().size()); 195 EXPECT_EQ(0u, displays[0].input_devices().size());
196 EXPECT_EQ(2u, displays[1].input_devices().size()); 196 EXPECT_EQ(2u, displays[1].input_devices().size());
197 EXPECT_EQ(1, displays[1].input_devices()[0]); 197 EXPECT_EQ(1, displays[1].input_devices()[0]);
198 EXPECT_EQ(2, displays[1].input_devices()[1]); 198 EXPECT_EQ(2, displays[1].input_devices()[1]);
199 } 199 }
200 200
201 TEST_F(TouchscreenUtilTest, MapInternalTouchscreen) { 201 TEST_F(TouchscreenUtilTest, MapInternalTouchscreen) {
202 std::vector<ui::TouchscreenDevice> devices; 202 std::vector<ui::TouchscreenDevice> devices;
203 devices.push_back( 203 devices.push_back(
204 ui::TouchscreenDevice(1, ui::InputDeviceType::INPUT_DEVICE_EXTERNAL, "1", 204 ui::TouchscreenDevice(1, ui::InputDeviceType::INPUT_DEVICE_EXTERNAL, "1",
205 gfx::Size(1920, 1080), 0)); 205 gfx::Size(1920, 1080), 0));
206 devices.push_back( 206 devices.push_back(
207 ui::TouchscreenDevice(2, ui::InputDeviceType::INPUT_DEVICE_INTERNAL, "2", 207 ui::TouchscreenDevice(2, ui::InputDeviceType::INPUT_DEVICE_INTERNAL, "2",
208 gfx::Size(9999, 888), 0)); 208 gfx::Size(9999, 888), 0));
209 209
210 DisplayInfoList displays; 210 DisplayInfoList displays;
211 displays.push_back(displays_[0]); 211 displays.push_back(displays_[0]);
212 displays.push_back(displays_[1]); 212 displays.push_back(displays_[1]);
213 213
214 test::ScopedSetInternalDisplayId set_internal(display_manager(), 214 display::test::ScopedSetInternalDisplayId set_internal(display_manager(),
215 displays[0].id()); 215 displays[0].id());
216 AssociateTouchscreens(&displays, devices); 216 AssociateTouchscreens(&displays, devices);
217 217
218 // Internal touchscreen is always mapped to internal display. 218 // Internal touchscreen is always mapped to internal display.
219 EXPECT_EQ(1u, displays[0].input_devices().size()); 219 EXPECT_EQ(1u, displays[0].input_devices().size());
220 EXPECT_EQ(2, displays[0].input_devices()[0]); 220 EXPECT_EQ(2, displays[0].input_devices()[0]);
221 EXPECT_EQ(1u, displays[1].input_devices().size()); 221 EXPECT_EQ(1u, displays[1].input_devices().size());
222 EXPECT_EQ(1, displays[1].input_devices()[0]); 222 EXPECT_EQ(1, displays[1].input_devices()[0]);
223 } 223 }
224 224
225 TEST_F(TouchscreenUtilTest, MultipleInternal) { 225 TEST_F(TouchscreenUtilTest, MultipleInternal) {
226 std::vector<ui::TouchscreenDevice> devices; 226 std::vector<ui::TouchscreenDevice> devices;
227 devices.push_back( 227 devices.push_back(
228 ui::TouchscreenDevice(1, ui::InputDeviceType::INPUT_DEVICE_INTERNAL, "1", 228 ui::TouchscreenDevice(1, ui::InputDeviceType::INPUT_DEVICE_INTERNAL, "1",
229 gfx::Size(1920, 1080), 0)); 229 gfx::Size(1920, 1080), 0));
230 devices.push_back( 230 devices.push_back(
231 ui::TouchscreenDevice(2, ui::InputDeviceType::INPUT_DEVICE_INTERNAL, "2", 231 ui::TouchscreenDevice(2, ui::InputDeviceType::INPUT_DEVICE_INTERNAL, "2",
232 gfx::Size(1920, 1080), 0)); 232 gfx::Size(1920, 1080), 0));
233 233
234 test::ScopedSetInternalDisplayId set_internal(display_manager(), 234 display::test::ScopedSetInternalDisplayId set_internal(display_manager(),
235 displays_[0].id()); 235 displays_[0].id());
236 AssociateTouchscreens(&displays_, devices); 236 AssociateTouchscreens(&displays_, devices);
237 237
238 EXPECT_EQ(2u, displays_[0].input_devices().size()); 238 EXPECT_EQ(2u, displays_[0].input_devices().size());
239 EXPECT_EQ(0u, displays_[1].input_devices().size()); 239 EXPECT_EQ(0u, displays_[1].input_devices().size());
240 EXPECT_EQ(0u, displays_[2].input_devices().size()); 240 EXPECT_EQ(0u, displays_[2].input_devices().size());
241 EXPECT_EQ(0u, displays_[3].input_devices().size()); 241 EXPECT_EQ(0u, displays_[3].input_devices().size());
242 } 242 }
243 243
244 TEST_F(TouchscreenUtilTest, MultipleInternalAndExternal) { 244 TEST_F(TouchscreenUtilTest, MultipleInternalAndExternal) {
245 std::vector<ui::TouchscreenDevice> devices; 245 std::vector<ui::TouchscreenDevice> devices;
246 devices.push_back( 246 devices.push_back(
247 ui::TouchscreenDevice(1, ui::InputDeviceType::INPUT_DEVICE_INTERNAL, "1", 247 ui::TouchscreenDevice(1, ui::InputDeviceType::INPUT_DEVICE_INTERNAL, "1",
248 gfx::Size(1920, 1080), 0)); 248 gfx::Size(1920, 1080), 0));
249 devices.push_back( 249 devices.push_back(
250 ui::TouchscreenDevice(2, ui::InputDeviceType::INPUT_DEVICE_INTERNAL, "2", 250 ui::TouchscreenDevice(2, ui::InputDeviceType::INPUT_DEVICE_INTERNAL, "2",
251 gfx::Size(1920, 1080), 0)); 251 gfx::Size(1920, 1080), 0));
252 devices.push_back( 252 devices.push_back(
253 ui::TouchscreenDevice(3, ui::InputDeviceType::INPUT_DEVICE_EXTERNAL, "3", 253 ui::TouchscreenDevice(3, ui::InputDeviceType::INPUT_DEVICE_EXTERNAL, "3",
254 gfx::Size(1024, 768), 0)); 254 gfx::Size(1024, 768), 0));
255 255
256 test::ScopedSetInternalDisplayId set_internal( 256 display::test::ScopedSetInternalDisplayId set_internal(
257 Shell::GetInstance()->display_manager(), displays_[0].id()); 257 Shell::GetInstance()->display_manager(), displays_[0].id());
258 AssociateTouchscreens(&displays_, devices); 258 AssociateTouchscreens(&displays_, devices);
259 259
260 EXPECT_EQ(2u, displays_[0].input_devices().size()); 260 EXPECT_EQ(2u, displays_[0].input_devices().size());
261 EXPECT_EQ(1, displays_[0].input_devices()[0]); 261 EXPECT_EQ(1, displays_[0].input_devices()[0]);
262 EXPECT_EQ(2, displays_[0].input_devices()[1]); 262 EXPECT_EQ(2, displays_[0].input_devices()[1]);
263 EXPECT_EQ(0u, displays_[1].input_devices().size()); 263 EXPECT_EQ(0u, displays_[1].input_devices().size());
264 EXPECT_EQ(0u, displays_[2].input_devices().size()); 264 EXPECT_EQ(0u, displays_[2].input_devices().size());
265 EXPECT_EQ(1u, displays_[3].input_devices().size()); 265 EXPECT_EQ(1u, displays_[3].input_devices().size());
266 EXPECT_EQ(3, displays_[3].input_devices()[0]); 266 EXPECT_EQ(3, displays_[3].input_devices()[0]);
(...skipping 13 matching lines...) Expand all
280 AssociateTouchscreens(&displays_, devices); 280 AssociateTouchscreens(&displays_, devices);
281 281
282 EXPECT_EQ(1u, displays_[0].input_devices().size()); 282 EXPECT_EQ(1u, displays_[0].input_devices().size());
283 EXPECT_EQ(1, displays_[0].input_devices()[0]); 283 EXPECT_EQ(1, displays_[0].input_devices()[0]);
284 EXPECT_EQ(0u, displays_[1].input_devices().size()); 284 EXPECT_EQ(0u, displays_[1].input_devices().size());
285 EXPECT_EQ(0u, displays_[2].input_devices().size()); 285 EXPECT_EQ(0u, displays_[2].input_devices().size());
286 EXPECT_EQ(0u, displays_[3].input_devices().size()); 286 EXPECT_EQ(0u, displays_[3].input_devices().size());
287 } 287 }
288 288
289 } // namespace ash 289 } // namespace ash
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698