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

Side by Side Diff: ui/display/chromeos/display_change_observer_unittest.cc

Issue 2524863003: Move DisplayChangeObserver + tests from ash to ui. (Closed)
Patch Set: Replace with static method. Created 4 years 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 "ui/display/chromeos/display_change_observer.h"
6
7 #include <string>
6 8
7 #include "base/memory/ptr_util.h" 9 #include "base/memory/ptr_util.h"
8 #include "testing/gtest/include/gtest/gtest.h" 10 #include "testing/gtest/include/gtest/gtest.h"
9 #include "ui/display/chromeos/display_configurator.h" 11 #include "ui/display/chromeos/display_configurator.h"
10 #include "ui/display/fake_display_snapshot.h" 12 #include "ui/display/fake_display_snapshot.h"
11 #include "ui/display/manager/managed_display_info.h" 13 #include "ui/display/manager/managed_display_info.h"
12 #include "ui/display/types/display_mode.h" 14 #include "ui/display/types/display_mode.h"
15 #include "ui/gfx/geometry/rect.h"
16 #include "ui/gfx/geometry/size.h"
13 17
14 using ui::DisplayConfigurator; 18 using ui::DisplayConfigurator;
15 19
16 namespace ash { 20 namespace display {
17 21
18 namespace { 22 namespace {
19 23
20 float ComputeDeviceScaleFactor(float diagonal_inch, 24 float ComputeDeviceScaleFactor(float diagonal_inch,
21 const gfx::Rect& resolution) { 25 const gfx::Rect& resolution) {
22 // We assume that displays have square pixel. 26 // We assume that displays have square pixel.
23 float diagonal_pixel = std::sqrt(std::pow(resolution.width(), 2) + 27 float diagonal_pixel = std::sqrt(std::pow(resolution.width(), 2) +
24 std::pow(resolution.height(), 2)); 28 std::pow(resolution.height(), 2));
25 float dpi = diagonal_pixel / diagonal_inch; 29 float dpi = diagonal_pixel / diagonal_inch;
26 return DisplayChangeObserver::FindDeviceScaleFactor(dpi); 30 return DisplayChangeObserver::FindDeviceScaleFactor(dpi);
27 } 31 }
28 32
29 std::unique_ptr<ui::DisplayMode> MakeDisplayMode(int width, 33 std::unique_ptr<ui::DisplayMode> MakeDisplayMode(int width,
30 int height, 34 int height,
31 bool is_interlaced, 35 bool is_interlaced,
32 float refresh_rate) { 36 float refresh_rate) {
33 return base::MakeUnique<ui::DisplayMode>(gfx::Size(width, height), 37 return base::MakeUnique<ui::DisplayMode>(gfx::Size(width, height),
34 is_interlaced, refresh_rate); 38 is_interlaced, refresh_rate);
35 } 39 }
36 40
37 } // namespace 41 } // namespace
38 42
39 TEST(DisplayChangeObserverTest, GetExternalManagedDisplayModeList) { 43 TEST(DisplayChangeObserverTest, GetExternalManagedDisplayModeList) {
40 std::unique_ptr<ui::DisplaySnapshot> display_snapshot = 44 std::unique_ptr<ui::DisplaySnapshot> display_snapshot =
41 display::FakeDisplaySnapshot::Builder() 45 FakeDisplaySnapshot::Builder()
42 .SetId(123) 46 .SetId(123)
43 .SetNativeMode(MakeDisplayMode(1920, 1200, false, 60)) 47 .SetNativeMode(MakeDisplayMode(1920, 1200, false, 60))
44 // All non-interlaced (as would be seen with different refresh rates). 48 // All non-interlaced (as would be seen with different refresh rates).
45 .AddMode(MakeDisplayMode(1920, 1080, false, 80)) 49 .AddMode(MakeDisplayMode(1920, 1080, false, 80))
46 .AddMode(MakeDisplayMode(1920, 1080, false, 70)) 50 .AddMode(MakeDisplayMode(1920, 1080, false, 70))
47 .AddMode(MakeDisplayMode(1920, 1080, false, 60)) 51 .AddMode(MakeDisplayMode(1920, 1080, false, 60))
48 // Interlaced vs non-interlaced. 52 // Interlaced vs non-interlaced.
49 .AddMode(MakeDisplayMode(1280, 720, true, 60)) 53 .AddMode(MakeDisplayMode(1280, 720, true, 60))
50 .AddMode(MakeDisplayMode(1280, 720, false, 60)) 54 .AddMode(MakeDisplayMode(1280, 720, false, 60))
51 // Interlaced only. 55 // Interlaced only.
52 .AddMode(MakeDisplayMode(1024, 768, true, 70)) 56 .AddMode(MakeDisplayMode(1024, 768, true, 70))
53 .AddMode(MakeDisplayMode(1024, 768, true, 60)) 57 .AddMode(MakeDisplayMode(1024, 768, true, 60))
54 // Mixed. 58 // Mixed.
55 .AddMode(MakeDisplayMode(1024, 600, true, 60)) 59 .AddMode(MakeDisplayMode(1024, 600, true, 60))
56 .AddMode(MakeDisplayMode(1024, 600, false, 70)) 60 .AddMode(MakeDisplayMode(1024, 600, false, 70))
57 .AddMode(MakeDisplayMode(1024, 600, false, 60)) 61 .AddMode(MakeDisplayMode(1024, 600, false, 60))
58 // Just one interlaced mode. 62 // Just one interlaced mode.
59 .AddMode(MakeDisplayMode(640, 480, true, 60)) 63 .AddMode(MakeDisplayMode(640, 480, true, 60))
60 .Build(); 64 .Build();
61 65
62 display::ManagedDisplayInfo::ManagedDisplayModeList display_modes = 66 ManagedDisplayInfo::ManagedDisplayModeList display_modes =
63 DisplayChangeObserver::GetExternalManagedDisplayModeList( 67 DisplayChangeObserver::GetExternalManagedDisplayModeList(
64 *display_snapshot); 68 *display_snapshot);
65 ASSERT_EQ(6u, display_modes.size()); 69 ASSERT_EQ(6u, display_modes.size());
66 EXPECT_EQ("640x480", display_modes[0]->size().ToString()); 70 EXPECT_EQ("640x480", display_modes[0]->size().ToString());
67 EXPECT_TRUE(display_modes[0]->is_interlaced()); 71 EXPECT_TRUE(display_modes[0]->is_interlaced());
68 EXPECT_EQ(display_modes[0]->refresh_rate(), 60); 72 EXPECT_EQ(display_modes[0]->refresh_rate(), 60);
69 73
70 EXPECT_EQ("1024x600", display_modes[1]->size().ToString()); 74 EXPECT_EQ("1024x600", display_modes[1]->size().ToString());
71 EXPECT_FALSE(display_modes[1]->is_interlaced()); 75 EXPECT_FALSE(display_modes[1]->is_interlaced());
72 EXPECT_EQ(display_modes[1]->refresh_rate(), 70); 76 EXPECT_EQ(display_modes[1]->refresh_rate(), 70);
73 77
74 EXPECT_EQ("1024x768", display_modes[2]->size().ToString()); 78 EXPECT_EQ("1024x768", display_modes[2]->size().ToString());
75 EXPECT_TRUE(display_modes[2]->is_interlaced()); 79 EXPECT_TRUE(display_modes[2]->is_interlaced());
76 EXPECT_EQ(display_modes[2]->refresh_rate(), 70); 80 EXPECT_EQ(display_modes[2]->refresh_rate(), 70);
77 81
78 EXPECT_EQ("1280x720", display_modes[3]->size().ToString()); 82 EXPECT_EQ("1280x720", display_modes[3]->size().ToString());
79 EXPECT_FALSE(display_modes[3]->is_interlaced()); 83 EXPECT_FALSE(display_modes[3]->is_interlaced());
80 EXPECT_EQ(display_modes[3]->refresh_rate(), 60); 84 EXPECT_EQ(display_modes[3]->refresh_rate(), 60);
81 85
82 EXPECT_EQ("1920x1080", display_modes[4]->size().ToString()); 86 EXPECT_EQ("1920x1080", display_modes[4]->size().ToString());
83 EXPECT_FALSE(display_modes[4]->is_interlaced()); 87 EXPECT_FALSE(display_modes[4]->is_interlaced());
84 EXPECT_EQ(display_modes[4]->refresh_rate(), 80); 88 EXPECT_EQ(display_modes[4]->refresh_rate(), 80);
85 89
86 EXPECT_EQ("1920x1200", display_modes[5]->size().ToString()); 90 EXPECT_EQ("1920x1200", display_modes[5]->size().ToString());
87 EXPECT_FALSE(display_modes[5]->is_interlaced()); 91 EXPECT_FALSE(display_modes[5]->is_interlaced());
88 EXPECT_EQ(display_modes[5]->refresh_rate(), 60); 92 EXPECT_EQ(display_modes[5]->refresh_rate(), 60);
89 } 93 }
90 94
91 TEST(DisplayChangeObserverTest, GetEmptyExternalManagedDisplayModeList) { 95 TEST(DisplayChangeObserverTest, GetEmptyExternalManagedDisplayModeList) {
92 display::FakeDisplaySnapshot display_snapshot( 96 FakeDisplaySnapshot display_snapshot(
93 123, gfx::Point(), gfx::Size(), ui::DISPLAY_CONNECTION_TYPE_UNKNOWN, 97 123, gfx::Point(), gfx::Size(), ui::DISPLAY_CONNECTION_TYPE_UNKNOWN,
94 false, false, false, std::string(), 0, 98 false, false, false, std::string(), 0,
95 std::vector<std::unique_ptr<const ui::DisplayMode>>(), nullptr, nullptr); 99 std::vector<std::unique_ptr<const ui::DisplayMode>>(), nullptr, nullptr);
96 100
97 display::ManagedDisplayInfo::ManagedDisplayModeList display_modes = 101 ManagedDisplayInfo::ManagedDisplayModeList display_modes =
98 DisplayChangeObserver::GetExternalManagedDisplayModeList( 102 DisplayChangeObserver::GetExternalManagedDisplayModeList(
99 display_snapshot); 103 display_snapshot);
100 EXPECT_EQ(0u, display_modes.size()); 104 EXPECT_EQ(0u, display_modes.size());
101 } 105 }
102 106
103 TEST(DisplayChangeObserverTest, GetInternalManagedDisplayModeList) { 107 TEST(DisplayChangeObserverTest, GetInternalManagedDisplayModeList) {
104 std::unique_ptr<ui::DisplaySnapshot> display_snapshot = 108 std::unique_ptr<ui::DisplaySnapshot> display_snapshot =
105 display::FakeDisplaySnapshot::Builder() 109 FakeDisplaySnapshot::Builder()
106 .SetId(123) 110 .SetId(123)
107 .SetNativeMode(MakeDisplayMode(1366, 768, false, 60)) 111 .SetNativeMode(MakeDisplayMode(1366, 768, false, 60))
108 .AddMode(MakeDisplayMode(1024, 768, false, 60)) 112 .AddMode(MakeDisplayMode(1024, 768, false, 60))
109 .AddMode(MakeDisplayMode(800, 600, false, 60)) 113 .AddMode(MakeDisplayMode(800, 600, false, 60))
110 .AddMode(MakeDisplayMode(600, 600, false, 56.2)) 114 .AddMode(MakeDisplayMode(600, 600, false, 56.2))
111 .AddMode(MakeDisplayMode(640, 480, false, 59.9)) 115 .AddMode(MakeDisplayMode(640, 480, false, 59.9))
112 .Build(); 116 .Build();
113 117
114 display::ManagedDisplayInfo info(1, "", false); 118 ManagedDisplayInfo info(1, "", false);
115 info.SetBounds(gfx::Rect(0, 0, 1366, 768)); 119 info.SetBounds(gfx::Rect(0, 0, 1366, 768));
116 120
117 display::ManagedDisplayInfo::ManagedDisplayModeList display_modes = 121 ManagedDisplayInfo::ManagedDisplayModeList display_modes =
118 DisplayChangeObserver::GetInternalManagedDisplayModeList( 122 DisplayChangeObserver::GetInternalManagedDisplayModeList(
119 info, *display_snapshot); 123 info, *display_snapshot);
120 ASSERT_EQ(5u, display_modes.size()); 124 ASSERT_EQ(5u, display_modes.size());
121 EXPECT_EQ("1366x768", display_modes[0]->size().ToString()); 125 EXPECT_EQ("1366x768", display_modes[0]->size().ToString());
122 EXPECT_FALSE(display_modes[0]->native()); 126 EXPECT_FALSE(display_modes[0]->native());
123 EXPECT_NEAR(display_modes[0]->ui_scale(), 0.5, 0.01); 127 EXPECT_NEAR(display_modes[0]->ui_scale(), 0.5, 0.01);
124 EXPECT_EQ(display_modes[0]->refresh_rate(), 60); 128 EXPECT_EQ(display_modes[0]->refresh_rate(), 60);
125 129
126 EXPECT_EQ("1366x768", display_modes[1]->size().ToString()); 130 EXPECT_EQ("1366x768", display_modes[1]->size().ToString());
127 EXPECT_FALSE(display_modes[1]->native()); 131 EXPECT_FALSE(display_modes[1]->native());
(...skipping 12 matching lines...) Expand all
140 144
141 EXPECT_EQ("1366x768", display_modes[4]->size().ToString()); 145 EXPECT_EQ("1366x768", display_modes[4]->size().ToString());
142 EXPECT_FALSE(display_modes[4]->native()); 146 EXPECT_FALSE(display_modes[4]->native());
143 EXPECT_NEAR(display_modes[4]->ui_scale(), 1.125, 0.01); 147 EXPECT_NEAR(display_modes[4]->ui_scale(), 1.125, 0.01);
144 EXPECT_EQ(display_modes[4]->refresh_rate(), 60); 148 EXPECT_EQ(display_modes[4]->refresh_rate(), 60);
145 } 149 }
146 150
147 TEST(DisplayChangeObserverTest, GetInternalHiDPIManagedDisplayModeList) { 151 TEST(DisplayChangeObserverTest, GetInternalHiDPIManagedDisplayModeList) {
148 // Data picked from peppy. 152 // Data picked from peppy.
149 std::unique_ptr<ui::DisplaySnapshot> display_snapshot = 153 std::unique_ptr<ui::DisplaySnapshot> display_snapshot =
150 display::FakeDisplaySnapshot::Builder() 154 FakeDisplaySnapshot::Builder()
151 .SetId(123) 155 .SetId(123)
152 .SetNativeMode(MakeDisplayMode(2560, 1700, false, 60)) 156 .SetNativeMode(MakeDisplayMode(2560, 1700, false, 60))
153 .AddMode(MakeDisplayMode(2048, 1536, false, 60)) 157 .AddMode(MakeDisplayMode(2048, 1536, false, 60))
154 .AddMode(MakeDisplayMode(1920, 1440, false, 60)) 158 .AddMode(MakeDisplayMode(1920, 1440, false, 60))
155 .Build(); 159 .Build();
156 160
157 display::ManagedDisplayInfo info(1, "", false); 161 ManagedDisplayInfo info(1, "", false);
158 info.SetBounds(gfx::Rect(0, 0, 2560, 1700)); 162 info.SetBounds(gfx::Rect(0, 0, 2560, 1700));
159 info.set_device_scale_factor(2.0f); 163 info.set_device_scale_factor(2.0f);
160 164
161 display::ManagedDisplayInfo::ManagedDisplayModeList display_modes = 165 ManagedDisplayInfo::ManagedDisplayModeList display_modes =
162 DisplayChangeObserver::GetInternalManagedDisplayModeList( 166 DisplayChangeObserver::GetInternalManagedDisplayModeList(
163 info, *display_snapshot); 167 info, *display_snapshot);
164 ASSERT_EQ(8u, display_modes.size()); 168 ASSERT_EQ(8u, display_modes.size());
165 EXPECT_EQ("2560x1700", display_modes[0]->size().ToString()); 169 EXPECT_EQ("2560x1700", display_modes[0]->size().ToString());
166 EXPECT_FALSE(display_modes[0]->native()); 170 EXPECT_FALSE(display_modes[0]->native());
167 EXPECT_NEAR(display_modes[0]->ui_scale(), 0.5, 0.01); 171 EXPECT_NEAR(display_modes[0]->ui_scale(), 0.5, 0.01);
168 EXPECT_EQ(display_modes[0]->refresh_rate(), 60); 172 EXPECT_EQ(display_modes[0]->refresh_rate(), 60);
169 173
170 EXPECT_EQ("2560x1700", display_modes[1]->size().ToString()); 174 EXPECT_EQ("2560x1700", display_modes[1]->size().ToString());
171 EXPECT_FALSE(display_modes[1]->native()); 175 EXPECT_FALSE(display_modes[1]->native());
(...skipping 27 matching lines...) Expand all
199 203
200 EXPECT_EQ("2560x1700", display_modes[7]->size().ToString()); 204 EXPECT_EQ("2560x1700", display_modes[7]->size().ToString());
201 EXPECT_TRUE(display_modes[7]->native()); 205 EXPECT_TRUE(display_modes[7]->native());
202 EXPECT_NEAR(display_modes[7]->ui_scale(), 2.0, 0.01); 206 EXPECT_NEAR(display_modes[7]->ui_scale(), 2.0, 0.01);
203 EXPECT_EQ(display_modes[7]->refresh_rate(), 60); 207 EXPECT_EQ(display_modes[7]->refresh_rate(), 60);
204 } 208 }
205 209
206 TEST(DisplayChangeObserverTest, GetInternalManagedDisplayModeList1_25) { 210 TEST(DisplayChangeObserverTest, GetInternalManagedDisplayModeList1_25) {
207 // Data picked from peppy. 211 // Data picked from peppy.
208 std::unique_ptr<ui::DisplaySnapshot> display_snapshot = 212 std::unique_ptr<ui::DisplaySnapshot> display_snapshot =
209 display::FakeDisplaySnapshot::Builder() 213 FakeDisplaySnapshot::Builder()
210 .SetId(123) 214 .SetId(123)
211 .SetNativeMode(MakeDisplayMode(1920, 1080, false, 60)) 215 .SetNativeMode(MakeDisplayMode(1920, 1080, false, 60))
212 .Build(); 216 .Build();
213 217
214 display::ManagedDisplayInfo info(1, "", false); 218 ManagedDisplayInfo info(1, "", false);
215 info.SetBounds(gfx::Rect(0, 0, 1920, 1080)); 219 info.SetBounds(gfx::Rect(0, 0, 1920, 1080));
216 info.set_device_scale_factor(1.25); 220 info.set_device_scale_factor(1.25);
217 221
218 display::ManagedDisplayInfo::ManagedDisplayModeList display_modes = 222 ManagedDisplayInfo::ManagedDisplayModeList display_modes =
219 DisplayChangeObserver::GetInternalManagedDisplayModeList( 223 DisplayChangeObserver::GetInternalManagedDisplayModeList(
220 info, *display_snapshot); 224 info, *display_snapshot);
221 ASSERT_EQ(5u, display_modes.size()); 225 ASSERT_EQ(5u, display_modes.size());
222 EXPECT_EQ("1920x1080", display_modes[0]->size().ToString()); 226 EXPECT_EQ("1920x1080", display_modes[0]->size().ToString());
223 EXPECT_FALSE(display_modes[0]->native()); 227 EXPECT_FALSE(display_modes[0]->native());
224 EXPECT_NEAR(display_modes[0]->ui_scale(), 0.5, 0.01); 228 EXPECT_NEAR(display_modes[0]->ui_scale(), 0.5, 0.01);
225 EXPECT_EQ(display_modes[0]->refresh_rate(), 60); 229 EXPECT_EQ(display_modes[0]->refresh_rate(), 60);
226 230
227 EXPECT_EQ("1920x1080", display_modes[1]->size().ToString()); 231 EXPECT_EQ("1920x1080", display_modes[1]->size().ToString());
228 EXPECT_FALSE(display_modes[1]->native()); 232 EXPECT_FALSE(display_modes[1]->native());
(...skipping 11 matching lines...) Expand all
240 EXPECT_EQ(display_modes[3]->refresh_rate(), 60); 244 EXPECT_EQ(display_modes[3]->refresh_rate(), 60);
241 245
242 EXPECT_EQ("1920x1080", display_modes[4]->size().ToString()); 246 EXPECT_EQ("1920x1080", display_modes[4]->size().ToString());
243 EXPECT_FALSE(display_modes[4]->native()); 247 EXPECT_FALSE(display_modes[4]->native());
244 EXPECT_NEAR(display_modes[4]->ui_scale(), 1.25, 0.01); 248 EXPECT_NEAR(display_modes[4]->ui_scale(), 1.25, 0.01);
245 EXPECT_EQ(display_modes[4]->refresh_rate(), 60); 249 EXPECT_EQ(display_modes[4]->refresh_rate(), 60);
246 } 250 }
247 251
248 TEST(DisplayChangeObserverTest, GetExternalManagedDisplayModeList4K) { 252 TEST(DisplayChangeObserverTest, GetExternalManagedDisplayModeList4K) {
249 std::unique_ptr<ui::DisplaySnapshot> display_snapshot = 253 std::unique_ptr<ui::DisplaySnapshot> display_snapshot =
250 display::FakeDisplaySnapshot::Builder() 254 FakeDisplaySnapshot::Builder()
251 .SetId(123) 255 .SetId(123)
252 .SetNativeMode(MakeDisplayMode(3840, 2160, false, 30)) 256 .SetNativeMode(MakeDisplayMode(3840, 2160, false, 30))
253 .AddMode(MakeDisplayMode(1920, 1200, false, 60)) 257 .AddMode(MakeDisplayMode(1920, 1200, false, 60))
254 // All non-interlaced (as would be seen with different refresh rates). 258 // All non-interlaced (as would be seen with different refresh rates).
255 .AddMode(MakeDisplayMode(1920, 1080, false, 80)) 259 .AddMode(MakeDisplayMode(1920, 1080, false, 80))
256 .AddMode(MakeDisplayMode(1920, 1080, false, 70)) 260 .AddMode(MakeDisplayMode(1920, 1080, false, 70))
257 .AddMode(MakeDisplayMode(1920, 1080, false, 60)) 261 .AddMode(MakeDisplayMode(1920, 1080, false, 60))
258 // Interlaced vs non-interlaced. 262 // Interlaced vs non-interlaced.
259 .AddMode(MakeDisplayMode(1280, 720, true, 60)) 263 .AddMode(MakeDisplayMode(1280, 720, true, 60))
260 .AddMode(MakeDisplayMode(1280, 720, false, 60)) 264 .AddMode(MakeDisplayMode(1280, 720, false, 60))
261 // Interlaced only. 265 // Interlaced only.
262 .AddMode(MakeDisplayMode(1024, 768, true, 70)) 266 .AddMode(MakeDisplayMode(1024, 768, true, 70))
263 .AddMode(MakeDisplayMode(1024, 768, true, 60)) 267 .AddMode(MakeDisplayMode(1024, 768, true, 60))
264 // Mixed. 268 // Mixed.
265 .AddMode(MakeDisplayMode(1024, 600, true, 60)) 269 .AddMode(MakeDisplayMode(1024, 600, true, 60))
266 .AddMode(MakeDisplayMode(1024, 600, false, 70)) 270 .AddMode(MakeDisplayMode(1024, 600, false, 70))
267 .AddMode(MakeDisplayMode(1024, 600, false, 60)) 271 .AddMode(MakeDisplayMode(1024, 600, false, 60))
268 // Just one interlaced mode. 272 // Just one interlaced mode.
269 .AddMode(MakeDisplayMode(640, 480, true, 60)) 273 .AddMode(MakeDisplayMode(640, 480, true, 60))
270 .Build(); 274 .Build();
271 275
272 display::ManagedDisplayInfo::ManagedDisplayModeList display_modes = 276 ManagedDisplayInfo::ManagedDisplayModeList display_modes =
273 DisplayChangeObserver::GetExternalManagedDisplayModeList( 277 DisplayChangeObserver::GetExternalManagedDisplayModeList(
274 *display_snapshot); 278 *display_snapshot);
275 display::ManagedDisplayInfo info(1, "", false); 279 ManagedDisplayInfo info(1, "", false);
276 info.SetManagedDisplayModes(display_modes); // Sort as external display. 280 info.SetManagedDisplayModes(display_modes); // Sort as external display.
277 display_modes = info.display_modes(); 281 display_modes = info.display_modes();
278 282
279 ASSERT_EQ(9u, display_modes.size()); 283 ASSERT_EQ(9u, display_modes.size());
280 EXPECT_EQ("640x480", display_modes[0]->size().ToString()); 284 EXPECT_EQ("640x480", display_modes[0]->size().ToString());
281 EXPECT_TRUE(display_modes[0]->is_interlaced()); 285 EXPECT_TRUE(display_modes[0]->is_interlaced());
282 EXPECT_EQ(display_modes[0]->refresh_rate(), 60); 286 EXPECT_EQ(display_modes[0]->refresh_rate(), 60);
283 287
284 EXPECT_EQ("1024x600", display_modes[1]->size().ToString()); 288 EXPECT_EQ("1024x600", display_modes[1]->size().ToString());
285 EXPECT_FALSE(display_modes[1]->is_interlaced()); 289 EXPECT_FALSE(display_modes[1]->is_interlaced());
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after
341 EXPECT_EQ(2.0f, ComputeDeviceScaleFactor(12.85f, gfx::Rect(2560, 1700))); 345 EXPECT_EQ(2.0f, ComputeDeviceScaleFactor(12.85f, gfx::Rect(2560, 1700)));
342 346
343 // Erroneous values should still work. 347 // Erroneous values should still work.
344 EXPECT_EQ(1.0f, DisplayChangeObserver::FindDeviceScaleFactor(-100.0f)); 348 EXPECT_EQ(1.0f, DisplayChangeObserver::FindDeviceScaleFactor(-100.0f));
345 EXPECT_EQ(1.0f, DisplayChangeObserver::FindDeviceScaleFactor(0.0f)); 349 EXPECT_EQ(1.0f, DisplayChangeObserver::FindDeviceScaleFactor(0.0f));
346 EXPECT_EQ(2.0f, DisplayChangeObserver::FindDeviceScaleFactor(10000.0f)); 350 EXPECT_EQ(2.0f, DisplayChangeObserver::FindDeviceScaleFactor(10000.0f));
347 } 351 }
348 352
349 TEST(DisplayChangeObserverTest, FindExternalDisplayNativeModeWhenOverwritten) { 353 TEST(DisplayChangeObserverTest, FindExternalDisplayNativeModeWhenOverwritten) {
350 std::unique_ptr<ui::DisplaySnapshot> display_snapshot = 354 std::unique_ptr<ui::DisplaySnapshot> display_snapshot =
351 display::FakeDisplaySnapshot::Builder() 355 FakeDisplaySnapshot::Builder()
352 .SetId(123) 356 .SetId(123)
353 .SetNativeMode(MakeDisplayMode(1920, 1080, true, 60)) 357 .SetNativeMode(MakeDisplayMode(1920, 1080, true, 60))
354 .AddMode(MakeDisplayMode(1920, 1080, false, 60)) 358 .AddMode(MakeDisplayMode(1920, 1080, false, 60))
355 .Build(); 359 .Build();
356 360
357 display::ManagedDisplayInfo::ManagedDisplayModeList display_modes = 361 ManagedDisplayInfo::ManagedDisplayModeList display_modes =
358 DisplayChangeObserver::GetExternalManagedDisplayModeList( 362 DisplayChangeObserver::GetExternalManagedDisplayModeList(
359 *display_snapshot); 363 *display_snapshot);
360 ASSERT_EQ(2u, display_modes.size()); 364 ASSERT_EQ(2u, display_modes.size());
361 EXPECT_EQ("1920x1080", display_modes[0]->size().ToString()); 365 EXPECT_EQ("1920x1080", display_modes[0]->size().ToString());
362 EXPECT_FALSE(display_modes[0]->is_interlaced()); 366 EXPECT_FALSE(display_modes[0]->is_interlaced());
363 EXPECT_FALSE(display_modes[0]->native()); 367 EXPECT_FALSE(display_modes[0]->native());
364 EXPECT_EQ(display_modes[0]->refresh_rate(), 60); 368 EXPECT_EQ(display_modes[0]->refresh_rate(), 60);
365 369
366 EXPECT_EQ("1920x1080", display_modes[1]->size().ToString()); 370 EXPECT_EQ("1920x1080", display_modes[1]->size().ToString());
367 EXPECT_TRUE(display_modes[1]->is_interlaced()); 371 EXPECT_TRUE(display_modes[1]->is_interlaced());
368 EXPECT_TRUE(display_modes[1]->native()); 372 EXPECT_TRUE(display_modes[1]->native());
369 EXPECT_EQ(display_modes[1]->refresh_rate(), 60); 373 EXPECT_EQ(display_modes[1]->refresh_rate(), 60);
370 } 374 }
371 375
372 } // namespace ash 376 } // namespace display
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698