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

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

Issue 2270553002: Move ash::DisplayInfo to ui (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: rebased Created 4 years, 3 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/touchscreen_util.cc ('k') | ash/wallpaper/wallpaper_controller.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/common/display/display_info.h"
9 #include "ash/test/ash_test_base.h" 8 #include "ash/test/ash_test_base.h"
10 #include "ash/test/display_manager_test_api.h" 9 #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"
12 #include "ui/display/manager/managed_display_info.h"
13 #include "ui/events/devices/input_device.h" 13 #include "ui/events/devices/input_device.h"
14 14
15 namespace ash { 15 namespace ash {
16 16
17 using DisplayInfoList = std::vector<display::ManagedDisplayInfo>;
18
17 class TouchscreenUtilTest : public test::AshTestBase { 19 class TouchscreenUtilTest : public test::AshTestBase {
18 public: 20 public:
19 TouchscreenUtilTest() {} 21 TouchscreenUtilTest() {}
20 ~TouchscreenUtilTest() override {} 22 ~TouchscreenUtilTest() override {}
21 23
22 void SetUp() override { 24 void SetUp() override {
23 test::AshTestBase::SetUp(); 25 test::AshTestBase::SetUp();
24 // Internal display will always match to internal touchscreen. If internal 26 // Internal display will always match to internal touchscreen. If internal
25 // touchscreen can't be detected, it is then associated to a touch screen 27 // touchscreen can't be detected, it is then associated to a touch screen
26 // with matching size. 28 // with matching size.
27 { 29 {
28 DisplayInfo display(1, "1", false); 30 display::ManagedDisplayInfo display(1, "1", false);
29 scoped_refptr<ManagedDisplayMode> mode(new ManagedDisplayMode( 31 scoped_refptr<display::ManagedDisplayMode> mode(
30 gfx::Size(1920, 1080), 60.0, false /* interlaced */, 32 new display::ManagedDisplayMode(gfx::Size(1920, 1080), 60.0,
31 true /* native */, 1.0 /* ui_scale */, 33 false /* interlaced */,
32 1.0 /* device_scale_factor */)); 34 true /* native */, 1.0 /* ui_scale */,
33 DisplayInfo::ManagedDisplayModeList modes(1, mode); 35 1.0 /* device_scale_factor */));
36 display::ManagedDisplayInfo::ManagedDisplayModeList modes(1, mode);
34 display.SetManagedDisplayModes(modes); 37 display.SetManagedDisplayModes(modes);
35 displays_.push_back(display); 38 displays_.push_back(display);
36 } 39 }
37 40
38 { 41 {
39 DisplayInfo display(2, "2", false); 42 display::ManagedDisplayInfo display(2, "2", false);
40 43
41 scoped_refptr<ManagedDisplayMode> mode(new ManagedDisplayMode( 44 scoped_refptr<display::ManagedDisplayMode> mode(
42 gfx::Size(800, 600), 60.0, false /* interlaced */, true /* native */, 45 new display::ManagedDisplayMode(gfx::Size(800, 600), 60.0,
43 1.0 /* ui_scale */, 1.0 /* device_scale_factor */)); 46 false /* interlaced */,
44 DisplayInfo::ManagedDisplayModeList modes(1, mode); 47 true /* native */, 1.0 /* ui_scale */,
48 1.0 /* device_scale_factor */));
49 display::ManagedDisplayInfo::ManagedDisplayModeList modes(1, mode);
45 display.SetManagedDisplayModes(modes); 50 display.SetManagedDisplayModes(modes);
46 displays_.push_back(display); 51 displays_.push_back(display);
47 } 52 }
48 53
49 // Display without native mode. Must not be matched to any touch screen. 54 // Display without native mode. Must not be matched to any touch screen.
50 { 55 {
51 DisplayInfo display(3, "3", false); 56 display::ManagedDisplayInfo display(3, "3", false);
52 displays_.push_back(display); 57 displays_.push_back(display);
53 } 58 }
54 59
55 { 60 {
56 DisplayInfo display(4, "4", false); 61 display::ManagedDisplayInfo display(4, "4", false);
57 62
58 scoped_refptr<ManagedDisplayMode> mode(new ManagedDisplayMode( 63 scoped_refptr<display::ManagedDisplayMode> mode(
59 gfx::Size(1024, 768), 60.0, false /* interlaced */, 64 new display::ManagedDisplayMode(gfx::Size(1024, 768), 60.0,
60 /* native */ true, 1.0 /* ui_scale */, 65 false /* interlaced */,
61 1.0 /* device_scale_factor */)); 66 /* native */ true, 1.0 /* ui_scale */,
62 DisplayInfo::ManagedDisplayModeList modes(1, mode); 67 1.0 /* device_scale_factor */));
68 display::ManagedDisplayInfo::ManagedDisplayModeList modes(1, mode);
63 display.SetManagedDisplayModes(modes); 69 display.SetManagedDisplayModes(modes);
64 displays_.push_back(display); 70 displays_.push_back(display);
65 } 71 }
66 } 72 }
67 73
68 void TearDown() override { 74 void TearDown() override {
69 displays_.clear(); 75 displays_.clear();
70 test::AshTestBase::TearDown(); 76 test::AshTestBase::TearDown();
71 } 77 }
72 78
73 protected: 79 protected:
74 std::vector<DisplayInfo> displays_; 80 DisplayInfoList displays_;
75 81
76 private: 82 private:
77 DISALLOW_COPY_AND_ASSIGN(TouchscreenUtilTest); 83 DISALLOW_COPY_AND_ASSIGN(TouchscreenUtilTest);
78 }; 84 };
79 85
80 TEST_F(TouchscreenUtilTest, NoTouchscreens) { 86 TEST_F(TouchscreenUtilTest, NoTouchscreens) {
81 std::vector<ui::TouchscreenDevice> devices; 87 std::vector<ui::TouchscreenDevice> devices;
82 88
83 test::ScopedSetInternalDisplayId set_internal(displays_[0].id()); 89 test::ScopedSetInternalDisplayId set_internal(displays_[0].id());
84 AssociateTouchscreens(&displays_, devices); 90 AssociateTouchscreens(&displays_, devices);
85 91
86 for (size_t i = 0; i < displays_.size(); ++i) 92 for (size_t i = 0; i < displays_.size(); ++i)
87 EXPECT_EQ(0u, displays_[i].input_devices().size()); 93 EXPECT_EQ(0u, displays_[i].input_devices().size());
88 } 94 }
89 95
90 // Verify that if there are a lot of touchscreens, they will all get associated 96 // Verify that if there are a lot of touchscreens, they will all get associated
91 // with a display. 97 // with a display.
92 TEST_F(TouchscreenUtilTest, ManyTouchscreens) { 98 TEST_F(TouchscreenUtilTest, ManyTouchscreens) {
93 std::vector<ui::TouchscreenDevice> devices; 99 std::vector<ui::TouchscreenDevice> devices;
94 for (int i = 0; i < 5; ++i) { 100 for (int i = 0; i < 5; ++i) {
95 devices.push_back( 101 devices.push_back(
96 ui::TouchscreenDevice(i, ui::InputDeviceType::INPUT_DEVICE_EXTERNAL, "", 102 ui::TouchscreenDevice(i, ui::InputDeviceType::INPUT_DEVICE_EXTERNAL, "",
97 gfx::Size(256, 256), 0)); 103 gfx::Size(256, 256), 0));
98 } 104 }
99 105
100 std::vector<DisplayInfo> displays; 106 DisplayInfoList displays;
101 displays.push_back(displays_[3]); 107 displays.push_back(displays_[3]);
102 108
103 test::ScopedSetInternalDisplayId set_internal(displays_[0].id()); 109 test::ScopedSetInternalDisplayId set_internal(displays_[0].id());
104 AssociateTouchscreens(&displays, devices); 110 AssociateTouchscreens(&displays, devices);
105 111
106 for (int i = 0; i < 5; ++i) 112 for (int i = 0; i < 5; ++i)
107 EXPECT_EQ(i, displays[0].input_devices()[i]); 113 EXPECT_EQ(i, displays[0].input_devices()[i]);
108 } 114 }
109 115
110 TEST_F(TouchscreenUtilTest, OneToOneMapping) { 116 TEST_F(TouchscreenUtilTest, OneToOneMapping) {
(...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after
165 171
166 TEST_F(TouchscreenUtilTest, MapWhenSizesDoNotMatch) { 172 TEST_F(TouchscreenUtilTest, MapWhenSizesDoNotMatch) {
167 std::vector<ui::TouchscreenDevice> devices; 173 std::vector<ui::TouchscreenDevice> devices;
168 devices.push_back( 174 devices.push_back(
169 ui::TouchscreenDevice(1, ui::InputDeviceType::INPUT_DEVICE_EXTERNAL, "1", 175 ui::TouchscreenDevice(1, ui::InputDeviceType::INPUT_DEVICE_EXTERNAL, "1",
170 gfx::Size(1022, 768), 0)); 176 gfx::Size(1022, 768), 0));
171 devices.push_back( 177 devices.push_back(
172 ui::TouchscreenDevice(2, ui::InputDeviceType::INPUT_DEVICE_EXTERNAL, "2", 178 ui::TouchscreenDevice(2, ui::InputDeviceType::INPUT_DEVICE_EXTERNAL, "2",
173 gfx::Size(802, 600), 0)); 179 gfx::Size(802, 600), 0));
174 180
175 std::vector<DisplayInfo> displays; 181 DisplayInfoList displays;
176 displays.push_back(displays_[0]); 182 displays.push_back(displays_[0]);
177 displays.push_back(displays_[1]); 183 displays.push_back(displays_[1]);
178 184
179 test::ScopedSetInternalDisplayId set_internal(displays[0].id()); 185 test::ScopedSetInternalDisplayId set_internal(displays[0].id());
180 AssociateTouchscreens(&displays, devices); 186 AssociateTouchscreens(&displays, devices);
181 187
182 EXPECT_EQ(0u, displays[0].input_devices().size()); 188 EXPECT_EQ(0u, displays[0].input_devices().size());
183 EXPECT_EQ(2u, displays[1].input_devices().size()); 189 EXPECT_EQ(2u, displays[1].input_devices().size());
184 EXPECT_EQ(1, displays[1].input_devices()[0]); 190 EXPECT_EQ(1, displays[1].input_devices()[0]);
185 EXPECT_EQ(2, displays[1].input_devices()[1]); 191 EXPECT_EQ(2, displays[1].input_devices()[1]);
186 } 192 }
187 193
188 TEST_F(TouchscreenUtilTest, MapInternalTouchscreen) { 194 TEST_F(TouchscreenUtilTest, MapInternalTouchscreen) {
189 std::vector<ui::TouchscreenDevice> devices; 195 std::vector<ui::TouchscreenDevice> devices;
190 devices.push_back( 196 devices.push_back(
191 ui::TouchscreenDevice(1, ui::InputDeviceType::INPUT_DEVICE_EXTERNAL, "1", 197 ui::TouchscreenDevice(1, ui::InputDeviceType::INPUT_DEVICE_EXTERNAL, "1",
192 gfx::Size(1920, 1080), 0)); 198 gfx::Size(1920, 1080), 0));
193 devices.push_back( 199 devices.push_back(
194 ui::TouchscreenDevice(2, ui::InputDeviceType::INPUT_DEVICE_INTERNAL, "2", 200 ui::TouchscreenDevice(2, ui::InputDeviceType::INPUT_DEVICE_INTERNAL, "2",
195 gfx::Size(9999, 888), 0)); 201 gfx::Size(9999, 888), 0));
196 202
197 std::vector<DisplayInfo> displays; 203 DisplayInfoList displays;
198 displays.push_back(displays_[0]); 204 displays.push_back(displays_[0]);
199 displays.push_back(displays_[1]); 205 displays.push_back(displays_[1]);
200 206
201 test::ScopedSetInternalDisplayId set_internal(displays[0].id()); 207 test::ScopedSetInternalDisplayId set_internal(displays[0].id());
202 AssociateTouchscreens(&displays, devices); 208 AssociateTouchscreens(&displays, devices);
203 209
204 // Internal touchscreen is always mapped to internal display. 210 // Internal touchscreen is always mapped to internal display.
205 EXPECT_EQ(1u, displays[0].input_devices().size()); 211 EXPECT_EQ(1u, displays[0].input_devices().size());
206 EXPECT_EQ(2, displays[0].input_devices()[0]); 212 EXPECT_EQ(2, displays[0].input_devices()[0]);
207 EXPECT_EQ(1u, displays[1].input_devices().size()); 213 EXPECT_EQ(1u, displays[1].input_devices().size());
(...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after
264 AssociateTouchscreens(&displays_, devices); 270 AssociateTouchscreens(&displays_, devices);
265 271
266 EXPECT_EQ(1u, displays_[0].input_devices().size()); 272 EXPECT_EQ(1u, displays_[0].input_devices().size());
267 EXPECT_EQ(1, displays_[0].input_devices()[0]); 273 EXPECT_EQ(1, displays_[0].input_devices()[0]);
268 EXPECT_EQ(0u, displays_[1].input_devices().size()); 274 EXPECT_EQ(0u, displays_[1].input_devices().size());
269 EXPECT_EQ(0u, displays_[2].input_devices().size()); 275 EXPECT_EQ(0u, displays_[2].input_devices().size());
270 EXPECT_EQ(0u, displays_[3].input_devices().size()); 276 EXPECT_EQ(0u, displays_[3].input_devices().size());
271 } 277 }
272 278
273 } // namespace ash 279 } // namespace ash
OLDNEW
« no previous file with comments | « ash/touch/touchscreen_util.cc ('k') | ash/wallpaper/wallpaper_controller.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698