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

Side by Side Diff: ash/display/display_change_observer_chromeos_unittest.cc

Issue 2196923002: Make ash::DisplayMode more like ui::DisplayMode (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: review comments Created 4 years, 4 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 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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 "ash/display/display_change_observer_chromeos.h" 5 #include "ash/display/display_change_observer_chromeos.h"
6 6
7 #include "ash/common/display/display_info.h" 7 #include "ash/common/display/display_info.h"
8 #include "base/memory/ptr_util.h" 8 #include "base/memory/ptr_util.h"
9 #include "testing/gtest/include/gtest/gtest.h" 9 #include "testing/gtest/include/gtest/gtest.h"
10 #include "ui/display/chromeos/display_configurator.h" 10 #include "ui/display/chromeos/display_configurator.h"
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after
50 modes.push_back( 50 modes.push_back(
51 base::WrapUnique(new ui::DisplayMode(gfx::Size(1024, 600), false, 60))); 51 base::WrapUnique(new ui::DisplayMode(gfx::Size(1024, 600), false, 60)));
52 52
53 // Just one interlaced mode. 53 // Just one interlaced mode.
54 modes.push_back( 54 modes.push_back(
55 base::WrapUnique(new ui::DisplayMode(gfx::Size(640, 480), true, 60))); 55 base::WrapUnique(new ui::DisplayMode(gfx::Size(640, 480), true, 60)));
56 56
57 ui::TestDisplaySnapshot display_snapshot; 57 ui::TestDisplaySnapshot display_snapshot;
58 display_snapshot.set_modes(std::move(modes)); 58 display_snapshot.set_modes(std::move(modes));
59 59
60 std::vector<DisplayMode> display_modes = 60 DisplayInfo::DisplayModeList display_modes =
61 DisplayChangeObserver::GetExternalDisplayModeList(display_snapshot); 61 DisplayChangeObserver::GetExternalDisplayModeList(display_snapshot);
62 ASSERT_EQ(6u, display_modes.size()); 62 ASSERT_EQ(6u, display_modes.size());
63 EXPECT_EQ("640x480", display_modes[0].size.ToString()); 63 EXPECT_EQ("640x480", display_modes[0]->size().ToString());
64 EXPECT_TRUE(display_modes[0].interlaced); 64 EXPECT_TRUE(display_modes[0]->is_interlaced());
65 EXPECT_EQ(display_modes[0].refresh_rate, 60); 65 EXPECT_EQ(display_modes[0]->refresh_rate(), 60);
66 66
67 EXPECT_EQ("1024x600", display_modes[1].size.ToString()); 67 EXPECT_EQ("1024x600", display_modes[1]->size().ToString());
68 EXPECT_FALSE(display_modes[1].interlaced); 68 EXPECT_FALSE(display_modes[1]->is_interlaced());
69 EXPECT_EQ(display_modes[1].refresh_rate, 70); 69 EXPECT_EQ(display_modes[1]->refresh_rate(), 70);
70 70
71 EXPECT_EQ("1024x768", display_modes[2].size.ToString()); 71 EXPECT_EQ("1024x768", display_modes[2]->size().ToString());
72 EXPECT_TRUE(display_modes[2].interlaced); 72 EXPECT_TRUE(display_modes[2]->is_interlaced());
73 EXPECT_EQ(display_modes[2].refresh_rate, 70); 73 EXPECT_EQ(display_modes[2]->refresh_rate(), 70);
74 74
75 EXPECT_EQ("1280x720", display_modes[3].size.ToString()); 75 EXPECT_EQ("1280x720", display_modes[3]->size().ToString());
76 EXPECT_FALSE(display_modes[3].interlaced); 76 EXPECT_FALSE(display_modes[3]->is_interlaced());
77 EXPECT_EQ(display_modes[3].refresh_rate, 60); 77 EXPECT_EQ(display_modes[3]->refresh_rate(), 60);
78 78
79 EXPECT_EQ("1920x1080", display_modes[4].size.ToString()); 79 EXPECT_EQ("1920x1080", display_modes[4]->size().ToString());
80 EXPECT_FALSE(display_modes[4].interlaced); 80 EXPECT_FALSE(display_modes[4]->is_interlaced());
81 EXPECT_EQ(display_modes[4].refresh_rate, 80); 81 EXPECT_EQ(display_modes[4]->refresh_rate(), 80);
82 82
83 EXPECT_EQ("1920x1200", display_modes[5].size.ToString()); 83 EXPECT_EQ("1920x1200", display_modes[5]->size().ToString());
84 EXPECT_FALSE(display_modes[5].interlaced); 84 EXPECT_FALSE(display_modes[5]->is_interlaced());
85 EXPECT_EQ(display_modes[5].refresh_rate, 60); 85 EXPECT_EQ(display_modes[5]->refresh_rate(), 60);
86 86
87 // Outputs without any modes shouldn't cause a crash. 87 // Outputs without any modes shouldn't cause a crash.
88 modes.clear(); 88 modes.clear();
89 display_snapshot.set_modes(std::move(modes)); 89 display_snapshot.set_modes(std::move(modes));
90 90
91 display_modes = 91 display_modes =
92 DisplayChangeObserver::GetExternalDisplayModeList(display_snapshot); 92 DisplayChangeObserver::GetExternalDisplayModeList(display_snapshot);
93 EXPECT_EQ(0u, display_modes.size()); 93 EXPECT_EQ(0u, display_modes.size());
94 } 94 }
95 95
(...skipping 11 matching lines...) Expand all
107 modes.push_back( 107 modes.push_back(
108 base::WrapUnique(new ui::DisplayMode(gfx::Size(640, 480), false, 59.9))); 108 base::WrapUnique(new ui::DisplayMode(gfx::Size(640, 480), false, 59.9)));
109 109
110 ui::TestDisplaySnapshot display_snapshot; 110 ui::TestDisplaySnapshot display_snapshot;
111 display_snapshot.set_native_mode(modes[0].get()); 111 display_snapshot.set_native_mode(modes[0].get());
112 display_snapshot.set_modes(std::move(modes)); 112 display_snapshot.set_modes(std::move(modes));
113 113
114 DisplayInfo info(1, "", false); 114 DisplayInfo info(1, "", false);
115 info.SetBounds(gfx::Rect(0, 0, 1366, 768)); 115 info.SetBounds(gfx::Rect(0, 0, 1366, 768));
116 116
117 std::vector<DisplayMode> display_modes = 117 DisplayInfo::DisplayModeList display_modes =
118 DisplayChangeObserver::GetInternalDisplayModeList(info, display_snapshot); 118 DisplayChangeObserver::GetInternalDisplayModeList(info, display_snapshot);
119 ASSERT_EQ(5u, display_modes.size()); 119 ASSERT_EQ(5u, display_modes.size());
120 EXPECT_EQ("1366x768", display_modes[0].size.ToString()); 120 EXPECT_EQ("1366x768", display_modes[0]->size().ToString());
121 EXPECT_FALSE(display_modes[0].native); 121 EXPECT_FALSE(display_modes[0]->native());
122 EXPECT_NEAR(display_modes[0].ui_scale, 0.5, 0.01); 122 EXPECT_NEAR(display_modes[0]->ui_scale(), 0.5, 0.01);
123 EXPECT_EQ(display_modes[0].refresh_rate, 60); 123 EXPECT_EQ(display_modes[0]->refresh_rate(), 60);
124 124
125 EXPECT_EQ("1366x768", display_modes[1].size.ToString()); 125 EXPECT_EQ("1366x768", display_modes[1]->size().ToString());
126 EXPECT_FALSE(display_modes[1].native); 126 EXPECT_FALSE(display_modes[1]->native());
127 EXPECT_NEAR(display_modes[1].ui_scale, 0.6, 0.01); 127 EXPECT_NEAR(display_modes[1]->ui_scale(), 0.6, 0.01);
128 EXPECT_EQ(display_modes[1].refresh_rate, 60); 128 EXPECT_EQ(display_modes[1]->refresh_rate(), 60);
129 129
130 EXPECT_EQ("1366x768", display_modes[2].size.ToString()); 130 EXPECT_EQ("1366x768", display_modes[2]->size().ToString());
131 EXPECT_FALSE(display_modes[2].native); 131 EXPECT_FALSE(display_modes[2]->native());
132 EXPECT_NEAR(display_modes[2].ui_scale, 0.75, 0.01); 132 EXPECT_NEAR(display_modes[2]->ui_scale(), 0.75, 0.01);
133 EXPECT_EQ(display_modes[2].refresh_rate, 60); 133 EXPECT_EQ(display_modes[2]->refresh_rate(), 60);
134 134
135 EXPECT_EQ("1366x768", display_modes[3].size.ToString()); 135 EXPECT_EQ("1366x768", display_modes[3]->size().ToString());
136 EXPECT_TRUE(display_modes[3].native); 136 EXPECT_TRUE(display_modes[3]->native());
137 EXPECT_NEAR(display_modes[3].ui_scale, 1.0, 0.01); 137 EXPECT_NEAR(display_modes[3]->ui_scale(), 1.0, 0.01);
138 EXPECT_EQ(display_modes[3].refresh_rate, 60); 138 EXPECT_EQ(display_modes[3]->refresh_rate(), 60);
139 139
140 EXPECT_EQ("1366x768", display_modes[4].size.ToString()); 140 EXPECT_EQ("1366x768", display_modes[4]->size().ToString());
141 EXPECT_FALSE(display_modes[4].native); 141 EXPECT_FALSE(display_modes[4]->native());
142 EXPECT_NEAR(display_modes[4].ui_scale, 1.125, 0.01); 142 EXPECT_NEAR(display_modes[4]->ui_scale(), 1.125, 0.01);
143 EXPECT_EQ(display_modes[4].refresh_rate, 60); 143 EXPECT_EQ(display_modes[4]->refresh_rate(), 60);
144 } 144 }
145 145
146 TEST_F(DisplayChangeObserverTest, GetInternalHiDPIDisplayModeList) { 146 TEST_F(DisplayChangeObserverTest, GetInternalHiDPIDisplayModeList) {
147 std::vector<std::unique_ptr<const ui::DisplayMode>> modes; 147 std::vector<std::unique_ptr<const ui::DisplayMode>> modes;
148 // Data picked from peppy. 148 // Data picked from peppy.
149 modes.push_back( 149 modes.push_back(
150 base::WrapUnique(new ui::DisplayMode(gfx::Size(2560, 1700), false, 60))); 150 base::WrapUnique(new ui::DisplayMode(gfx::Size(2560, 1700), false, 60)));
151 modes.push_back( 151 modes.push_back(
152 base::WrapUnique(new ui::DisplayMode(gfx::Size(2048, 1536), false, 60))); 152 base::WrapUnique(new ui::DisplayMode(gfx::Size(2048, 1536), false, 60)));
153 modes.push_back( 153 modes.push_back(
154 base::WrapUnique(new ui::DisplayMode(gfx::Size(1920, 1440), false, 60))); 154 base::WrapUnique(new ui::DisplayMode(gfx::Size(1920, 1440), false, 60)));
155 155
156 ui::TestDisplaySnapshot display_snapshot; 156 ui::TestDisplaySnapshot display_snapshot;
157 display_snapshot.set_native_mode(modes[0].get()); 157 display_snapshot.set_native_mode(modes[0].get());
158 display_snapshot.set_modes(std::move(modes)); 158 display_snapshot.set_modes(std::move(modes));
159 159
160 DisplayInfo info(1, "", false); 160 DisplayInfo info(1, "", false);
161 info.SetBounds(gfx::Rect(0, 0, 2560, 1700)); 161 info.SetBounds(gfx::Rect(0, 0, 2560, 1700));
162 info.set_device_scale_factor(2.0f); 162 info.set_device_scale_factor(2.0f);
163 163
164 std::vector<DisplayMode> display_modes = 164 DisplayInfo::DisplayModeList display_modes =
165 DisplayChangeObserver::GetInternalDisplayModeList(info, display_snapshot); 165 DisplayChangeObserver::GetInternalDisplayModeList(info, display_snapshot);
166 ASSERT_EQ(8u, display_modes.size()); 166 ASSERT_EQ(8u, display_modes.size());
167 EXPECT_EQ("2560x1700", display_modes[0].size.ToString()); 167 EXPECT_EQ("2560x1700", display_modes[0]->size().ToString());
168 EXPECT_FALSE(display_modes[0].native); 168 EXPECT_FALSE(display_modes[0]->native());
169 EXPECT_NEAR(display_modes[0].ui_scale, 0.5, 0.01); 169 EXPECT_NEAR(display_modes[0]->ui_scale(), 0.5, 0.01);
170 EXPECT_EQ(display_modes[0].refresh_rate, 60); 170 EXPECT_EQ(display_modes[0]->refresh_rate(), 60);
171 171
172 EXPECT_EQ("2560x1700", display_modes[1].size.ToString()); 172 EXPECT_EQ("2560x1700", display_modes[1]->size().ToString());
173 EXPECT_FALSE(display_modes[1].native); 173 EXPECT_FALSE(display_modes[1]->native());
174 EXPECT_NEAR(display_modes[1].ui_scale, 0.625, 0.01); 174 EXPECT_NEAR(display_modes[1]->ui_scale(), 0.625, 0.01);
175 EXPECT_EQ(display_modes[1].refresh_rate, 60); 175 EXPECT_EQ(display_modes[1]->refresh_rate(), 60);
176 176
177 EXPECT_EQ("2560x1700", display_modes[2].size.ToString()); 177 EXPECT_EQ("2560x1700", display_modes[2]->size().ToString());
178 EXPECT_FALSE(display_modes[2].native); 178 EXPECT_FALSE(display_modes[2]->native());
179 EXPECT_NEAR(display_modes[2].ui_scale, 0.8, 0.01); 179 EXPECT_NEAR(display_modes[2]->ui_scale(), 0.8, 0.01);
180 EXPECT_EQ(display_modes[2].refresh_rate, 60); 180 EXPECT_EQ(display_modes[2]->refresh_rate(), 60);
181 181
182 EXPECT_EQ("2560x1700", display_modes[3].size.ToString()); 182 EXPECT_EQ("2560x1700", display_modes[3]->size().ToString());
183 EXPECT_FALSE(display_modes[3].native); 183 EXPECT_FALSE(display_modes[3]->native());
184 EXPECT_NEAR(display_modes[3].ui_scale, 1.0, 0.01); 184 EXPECT_NEAR(display_modes[3]->ui_scale(), 1.0, 0.01);
185 EXPECT_EQ(display_modes[3].refresh_rate, 60); 185 EXPECT_EQ(display_modes[3]->refresh_rate(), 60);
186 186
187 EXPECT_EQ("2560x1700", display_modes[4].size.ToString()); 187 EXPECT_EQ("2560x1700", display_modes[4]->size().ToString());
188 EXPECT_FALSE(display_modes[4].native); 188 EXPECT_FALSE(display_modes[4]->native());
189 EXPECT_NEAR(display_modes[4].ui_scale, 1.125, 0.01); 189 EXPECT_NEAR(display_modes[4]->ui_scale(), 1.125, 0.01);
190 EXPECT_EQ(display_modes[4].refresh_rate, 60); 190 EXPECT_EQ(display_modes[4]->refresh_rate(), 60);
191 191
192 EXPECT_EQ("2560x1700", display_modes[5].size.ToString()); 192 EXPECT_EQ("2560x1700", display_modes[5]->size().ToString());
193 EXPECT_FALSE(display_modes[5].native); 193 EXPECT_FALSE(display_modes[5]->native());
194 EXPECT_NEAR(display_modes[5].ui_scale, 1.25, 0.01); 194 EXPECT_NEAR(display_modes[5]->ui_scale(), 1.25, 0.01);
195 EXPECT_EQ(display_modes[5].refresh_rate, 60); 195 EXPECT_EQ(display_modes[5]->refresh_rate(), 60);
196 196
197 EXPECT_EQ("2560x1700", display_modes[6].size.ToString()); 197 EXPECT_EQ("2560x1700", display_modes[6]->size().ToString());
198 EXPECT_FALSE(display_modes[6].native); 198 EXPECT_FALSE(display_modes[6]->native());
199 EXPECT_NEAR(display_modes[6].ui_scale, 1.5, 0.01); 199 EXPECT_NEAR(display_modes[6]->ui_scale(), 1.5, 0.01);
200 EXPECT_EQ(display_modes[6].refresh_rate, 60); 200 EXPECT_EQ(display_modes[6]->refresh_rate(), 60);
201 201
202 EXPECT_EQ("2560x1700", display_modes[7].size.ToString()); 202 EXPECT_EQ("2560x1700", display_modes[7]->size().ToString());
203 EXPECT_TRUE(display_modes[7].native); 203 EXPECT_TRUE(display_modes[7]->native());
204 EXPECT_NEAR(display_modes[7].ui_scale, 2.0, 0.01); 204 EXPECT_NEAR(display_modes[7]->ui_scale(), 2.0, 0.01);
205 EXPECT_EQ(display_modes[7].refresh_rate, 60); 205 EXPECT_EQ(display_modes[7]->refresh_rate(), 60);
206 } 206 }
207 207
208 TEST_F(DisplayChangeObserverTest, GetInternalDisplayModeList1_25) { 208 TEST_F(DisplayChangeObserverTest, GetInternalDisplayModeList1_25) {
209 std::vector<std::unique_ptr<const ui::DisplayMode>> modes; 209 std::vector<std::unique_ptr<const ui::DisplayMode>> modes;
210 // Data picked from peppy. 210 // Data picked from peppy.
211 modes.push_back( 211 modes.push_back(
212 base::WrapUnique(new ui::DisplayMode(gfx::Size(1920, 1080), false, 60))); 212 base::WrapUnique(new ui::DisplayMode(gfx::Size(1920, 1080), false, 60)));
213 213
214 ui::TestDisplaySnapshot display_snapshot; 214 ui::TestDisplaySnapshot display_snapshot;
215 display_snapshot.set_native_mode(modes[0].get()); 215 display_snapshot.set_native_mode(modes[0].get());
216 display_snapshot.set_modes(std::move(modes)); 216 display_snapshot.set_modes(std::move(modes));
217 217
218 DisplayInfo info(1, "", false); 218 DisplayInfo info(1, "", false);
219 info.SetBounds(gfx::Rect(0, 0, 1920, 1080)); 219 info.SetBounds(gfx::Rect(0, 0, 1920, 1080));
220 info.set_device_scale_factor(1.25); 220 info.set_device_scale_factor(1.25);
221 221
222 std::vector<DisplayMode> display_modes = 222 DisplayInfo::DisplayModeList display_modes =
223 DisplayChangeObserver::GetInternalDisplayModeList(info, display_snapshot); 223 DisplayChangeObserver::GetInternalDisplayModeList(info, display_snapshot);
224 ASSERT_EQ(5u, display_modes.size()); 224 ASSERT_EQ(5u, display_modes.size());
225 EXPECT_EQ("1920x1080", display_modes[0].size.ToString()); 225 EXPECT_EQ("1920x1080", display_modes[0]->size().ToString());
226 EXPECT_FALSE(display_modes[0].native); 226 EXPECT_FALSE(display_modes[0]->native());
227 EXPECT_NEAR(display_modes[0].ui_scale, 0.5, 0.01); 227 EXPECT_NEAR(display_modes[0]->ui_scale(), 0.5, 0.01);
228 EXPECT_EQ(display_modes[0].refresh_rate, 60); 228 EXPECT_EQ(display_modes[0]->refresh_rate(), 60);
229 229
230 EXPECT_EQ("1920x1080", display_modes[1].size.ToString()); 230 EXPECT_EQ("1920x1080", display_modes[1]->size().ToString());
231 EXPECT_FALSE(display_modes[1].native); 231 EXPECT_FALSE(display_modes[1]->native());
232 EXPECT_NEAR(display_modes[1].ui_scale, 0.625, 0.01); 232 EXPECT_NEAR(display_modes[1]->ui_scale(), 0.625, 0.01);
233 EXPECT_EQ(display_modes[1].refresh_rate, 60); 233 EXPECT_EQ(display_modes[1]->refresh_rate(), 60);
234 234
235 EXPECT_EQ("1920x1080", display_modes[2].size.ToString()); 235 EXPECT_EQ("1920x1080", display_modes[2]->size().ToString());
236 EXPECT_FALSE(display_modes[2].native); 236 EXPECT_FALSE(display_modes[2]->native());
237 EXPECT_NEAR(display_modes[2].ui_scale, 0.8, 0.01); 237 EXPECT_NEAR(display_modes[2]->ui_scale(), 0.8, 0.01);
238 EXPECT_EQ(display_modes[2].refresh_rate, 60); 238 EXPECT_EQ(display_modes[2]->refresh_rate(), 60);
239 239
240 EXPECT_EQ("1920x1080", display_modes[3].size.ToString()); 240 EXPECT_EQ("1920x1080", display_modes[3]->size().ToString());
241 EXPECT_TRUE(display_modes[3].native); 241 EXPECT_TRUE(display_modes[3]->native());
242 EXPECT_NEAR(display_modes[3].ui_scale, 1.0, 0.01); 242 EXPECT_NEAR(display_modes[3]->ui_scale(), 1.0, 0.01);
243 EXPECT_EQ(display_modes[3].refresh_rate, 60); 243 EXPECT_EQ(display_modes[3]->refresh_rate(), 60);
244 244
245 EXPECT_EQ("1920x1080", display_modes[4].size.ToString()); 245 EXPECT_EQ("1920x1080", display_modes[4]->size().ToString());
246 EXPECT_FALSE(display_modes[4].native); 246 EXPECT_FALSE(display_modes[4]->native());
247 EXPECT_NEAR(display_modes[4].ui_scale, 1.25, 0.01); 247 EXPECT_NEAR(display_modes[4]->ui_scale(), 1.25, 0.01);
248 EXPECT_EQ(display_modes[4].refresh_rate, 60); 248 EXPECT_EQ(display_modes[4]->refresh_rate(), 60);
249 } 249 }
250 250
251 TEST_F(DisplayChangeObserverTest, GetExternalDisplayModeList4K) { 251 TEST_F(DisplayChangeObserverTest, GetExternalDisplayModeList4K) {
252 std::vector<std::unique_ptr<const ui::DisplayMode>> modes; 252 std::vector<std::unique_ptr<const ui::DisplayMode>> modes;
253 modes.push_back( 253 modes.push_back(
254 base::WrapUnique(new ui::DisplayMode(gfx::Size(3840, 2160), false, 30))); 254 base::WrapUnique(new ui::DisplayMode(gfx::Size(3840, 2160), false, 30)));
255 modes.push_back( 255 modes.push_back(
256 base::WrapUnique(new ui::DisplayMode(gfx::Size(1920, 1200), false, 60))); 256 base::WrapUnique(new ui::DisplayMode(gfx::Size(1920, 1200), false, 60)));
257 257
258 // All non-interlaced (as would be seen with different refresh rates). 258 // All non-interlaced (as would be seen with different refresh rates).
(...skipping 25 matching lines...) Expand all
284 base::WrapUnique(new ui::DisplayMode(gfx::Size(1024, 600), false, 60))); 284 base::WrapUnique(new ui::DisplayMode(gfx::Size(1024, 600), false, 60)));
285 285
286 // Just one interlaced mode. 286 // Just one interlaced mode.
287 modes.push_back( 287 modes.push_back(
288 base::WrapUnique(new ui::DisplayMode(gfx::Size(640, 480), true, 60))); 288 base::WrapUnique(new ui::DisplayMode(gfx::Size(640, 480), true, 60)));
289 289
290 ui::TestDisplaySnapshot display_snapshot; 290 ui::TestDisplaySnapshot display_snapshot;
291 display_snapshot.set_native_mode(modes[0].get()); 291 display_snapshot.set_native_mode(modes[0].get());
292 display_snapshot.set_modes(std::move(modes)); 292 display_snapshot.set_modes(std::move(modes));
293 293
294 std::vector<DisplayMode> display_modes = 294 DisplayInfo::DisplayModeList display_modes =
295 DisplayChangeObserver::GetExternalDisplayModeList(display_snapshot); 295 DisplayChangeObserver::GetExternalDisplayModeList(display_snapshot);
296 DisplayInfo info(1, "", false); 296 DisplayInfo info(1, "", false);
297 info.SetDisplayModes(display_modes); // Sort as external display. 297 info.SetDisplayModes(display_modes); // Sort as external display.
298 display_modes = info.display_modes(); 298 display_modes = info.display_modes();
299 299
300 ASSERT_EQ(9u, display_modes.size()); 300 ASSERT_EQ(9u, display_modes.size());
301 EXPECT_EQ("640x480", display_modes[0].size.ToString()); 301 EXPECT_EQ("640x480", display_modes[0]->size().ToString());
302 EXPECT_TRUE(display_modes[0].interlaced); 302 EXPECT_TRUE(display_modes[0]->is_interlaced());
303 EXPECT_EQ(display_modes[0].refresh_rate, 60); 303 EXPECT_EQ(display_modes[0]->refresh_rate(), 60);
304 304
305 EXPECT_EQ("1024x600", display_modes[1].size.ToString()); 305 EXPECT_EQ("1024x600", display_modes[1]->size().ToString());
306 EXPECT_FALSE(display_modes[1].interlaced); 306 EXPECT_FALSE(display_modes[1]->is_interlaced());
307 EXPECT_EQ(display_modes[1].refresh_rate, 70); 307 EXPECT_EQ(display_modes[1]->refresh_rate(), 70);
308 308
309 EXPECT_EQ("1024x768", display_modes[2].size.ToString()); 309 EXPECT_EQ("1024x768", display_modes[2]->size().ToString());
310 EXPECT_TRUE(display_modes[2].interlaced); 310 EXPECT_TRUE(display_modes[2]->is_interlaced());
311 EXPECT_EQ(display_modes[2].refresh_rate, 70); 311 EXPECT_EQ(display_modes[2]->refresh_rate(), 70);
312 312
313 EXPECT_EQ("1280x720", display_modes[3].size.ToString()); 313 EXPECT_EQ("1280x720", display_modes[3]->size().ToString());
314 EXPECT_FALSE(display_modes[3].interlaced); 314 EXPECT_FALSE(display_modes[3]->is_interlaced());
315 EXPECT_EQ(display_modes[3].refresh_rate, 60); 315 EXPECT_EQ(display_modes[3]->refresh_rate(), 60);
316 316
317 EXPECT_EQ("1920x1080", display_modes[4].size.ToString()); 317 EXPECT_EQ("1920x1080", display_modes[4]->size().ToString());
318 EXPECT_FALSE(display_modes[4].interlaced); 318 EXPECT_FALSE(display_modes[4]->is_interlaced());
319 EXPECT_EQ(display_modes[4].refresh_rate, 80); 319 EXPECT_EQ(display_modes[4]->refresh_rate(), 80);
320 320
321 EXPECT_EQ("3840x2160", display_modes[5].size.ToString()); 321 EXPECT_EQ("3840x2160", display_modes[5]->size().ToString());
322 EXPECT_FALSE(display_modes[5].interlaced); 322 EXPECT_FALSE(display_modes[5]->is_interlaced());
323 EXPECT_FALSE(display_modes[5].native); 323 EXPECT_FALSE(display_modes[5]->native());
324 EXPECT_EQ(display_modes[5].refresh_rate, 30); 324 EXPECT_EQ(display_modes[5]->refresh_rate(), 30);
325 EXPECT_EQ(display_modes[5].device_scale_factor, 2.0); 325 EXPECT_EQ(display_modes[5]->device_scale_factor(), 2.0);
326 326
327 EXPECT_EQ("1920x1200", display_modes[6].size.ToString()); 327 EXPECT_EQ("1920x1200", display_modes[6]->size().ToString());
328 EXPECT_FALSE(display_modes[6].interlaced); 328 EXPECT_FALSE(display_modes[6]->is_interlaced());
329 EXPECT_EQ(display_modes[6].refresh_rate, 60); 329 EXPECT_EQ(display_modes[6]->refresh_rate(), 60);
330 330
331 EXPECT_EQ("3840x2160", display_modes[7].size.ToString()); 331 EXPECT_EQ("3840x2160", display_modes[7]->size().ToString());
332 EXPECT_FALSE(display_modes[7].interlaced); 332 EXPECT_FALSE(display_modes[7]->is_interlaced());
333 EXPECT_FALSE(display_modes[7].native); 333 EXPECT_FALSE(display_modes[7]->native());
334 EXPECT_EQ(display_modes[7].refresh_rate, 30); 334 EXPECT_EQ(display_modes[7]->refresh_rate(), 30);
335 EXPECT_EQ(display_modes[7].device_scale_factor, 1.25); 335 EXPECT_EQ(display_modes[7]->device_scale_factor(), 1.25);
336 336
337 EXPECT_EQ("3840x2160", display_modes[8].size.ToString()); 337 EXPECT_EQ("3840x2160", display_modes[8]->size().ToString());
338 EXPECT_FALSE(display_modes[8].interlaced); 338 EXPECT_FALSE(display_modes[8]->is_interlaced());
339 EXPECT_TRUE(display_modes[8].native); 339 EXPECT_TRUE(display_modes[8]->native());
340 EXPECT_EQ(display_modes[8].refresh_rate, 30); 340 EXPECT_EQ(display_modes[8]->refresh_rate(), 30);
341 341
342 // Outputs without any modes shouldn't cause a crash. 342 // Outputs without any modes shouldn't cause a crash.
343 modes.clear(); 343 modes.clear();
344 display_snapshot.set_native_mode(NULL); 344 display_snapshot.set_native_mode(NULL);
345 display_snapshot.set_modes(std::move(modes)); 345 display_snapshot.set_modes(std::move(modes));
346 346
347 display_modes = 347 display_modes =
348 DisplayChangeObserver::GetExternalDisplayModeList(display_snapshot); 348 DisplayChangeObserver::GetExternalDisplayModeList(display_snapshot);
349 EXPECT_EQ(0u, display_modes.size()); 349 EXPECT_EQ(0u, display_modes.size());
350 } 350 }
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after
394 std::vector<std::unique_ptr<const ui::DisplayMode>> modes; 394 std::vector<std::unique_ptr<const ui::DisplayMode>> modes;
395 modes.push_back( 395 modes.push_back(
396 base::WrapUnique(new ui::DisplayMode(gfx::Size(1920, 1080), true, 60))); 396 base::WrapUnique(new ui::DisplayMode(gfx::Size(1920, 1080), true, 60)));
397 modes.push_back( 397 modes.push_back(
398 base::WrapUnique(new ui::DisplayMode(gfx::Size(1920, 1080), false, 60))); 398 base::WrapUnique(new ui::DisplayMode(gfx::Size(1920, 1080), false, 60)));
399 399
400 ui::TestDisplaySnapshot display_snapshot; 400 ui::TestDisplaySnapshot display_snapshot;
401 display_snapshot.set_native_mode(modes[0].get()); 401 display_snapshot.set_native_mode(modes[0].get());
402 display_snapshot.set_modes(std::move(modes)); 402 display_snapshot.set_modes(std::move(modes));
403 403
404 std::vector<DisplayMode> display_modes = 404 DisplayInfo::DisplayModeList display_modes =
405 DisplayChangeObserver::GetExternalDisplayModeList(display_snapshot); 405 DisplayChangeObserver::GetExternalDisplayModeList(display_snapshot);
406 ASSERT_EQ(2u, display_modes.size()); 406 ASSERT_EQ(2u, display_modes.size());
407 EXPECT_EQ("1920x1080", display_modes[0].size.ToString()); 407 EXPECT_EQ("1920x1080", display_modes[0]->size().ToString());
408 EXPECT_FALSE(display_modes[0].interlaced); 408 EXPECT_FALSE(display_modes[0]->is_interlaced());
409 EXPECT_FALSE(display_modes[0].native); 409 EXPECT_FALSE(display_modes[0]->native());
410 EXPECT_EQ(display_modes[0].refresh_rate, 60); 410 EXPECT_EQ(display_modes[0]->refresh_rate(), 60);
411 411
412 EXPECT_EQ("1920x1080", display_modes[1].size.ToString()); 412 EXPECT_EQ("1920x1080", display_modes[1]->size().ToString());
413 EXPECT_TRUE(display_modes[1].interlaced); 413 EXPECT_TRUE(display_modes[1]->is_interlaced());
414 EXPECT_TRUE(display_modes[1].native); 414 EXPECT_TRUE(display_modes[1]->native());
415 EXPECT_EQ(display_modes[1].refresh_rate, 60); 415 EXPECT_EQ(display_modes[1]->refresh_rate(), 60);
416 } 416 }
417 417
418 } // namespace ash 418 } // namespace ash
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698