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

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

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

Powered by Google App Engine
This is Rietveld 408576698