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

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

Issue 2613493002: Fix namespace for src/ui/display/. (Closed)
Patch Set: Rebase. Created 3 years, 11 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 "ui/display/manager/chromeos/display_change_observer.h" 5 #include "ui/display/manager/chromeos/display_change_observer.h"
6 6
7 #include <string> 7 #include <string>
8 8
9 #include "base/memory/ptr_util.h" 9 #include "base/memory/ptr_util.h"
10 #include "testing/gtest/include/gtest/gtest.h" 10 #include "testing/gtest/include/gtest/gtest.h"
11 #include "ui/display/fake_display_snapshot.h" 11 #include "ui/display/fake_display_snapshot.h"
12 #include "ui/display/manager/chromeos/display_configurator.h" 12 #include "ui/display/manager/chromeos/display_configurator.h"
13 #include "ui/display/manager/managed_display_info.h" 13 #include "ui/display/manager/managed_display_info.h"
14 #include "ui/display/types/display_mode.h" 14 #include "ui/display/types/display_mode.h"
15 #include "ui/gfx/geometry/rect.h" 15 #include "ui/gfx/geometry/rect.h"
16 #include "ui/gfx/geometry/size.h" 16 #include "ui/gfx/geometry/size.h"
17 17
18 using ui::DisplayConfigurator;
19
20 namespace display { 18 namespace display {
21 19
22 namespace { 20 namespace {
23 21
24 float ComputeDeviceScaleFactor(float diagonal_inch, 22 float ComputeDeviceScaleFactor(float diagonal_inch,
25 const gfx::Rect& resolution) { 23 const gfx::Rect& resolution) {
26 // We assume that displays have square pixel. 24 // We assume that displays have square pixel.
27 float diagonal_pixel = std::sqrt(std::pow(resolution.width(), 2) + 25 float diagonal_pixel = std::sqrt(std::pow(resolution.width(), 2) +
28 std::pow(resolution.height(), 2)); 26 std::pow(resolution.height(), 2));
29 float dpi = diagonal_pixel / diagonal_inch; 27 float dpi = diagonal_pixel / diagonal_inch;
30 return DisplayChangeObserver::FindDeviceScaleFactor(dpi); 28 return DisplayChangeObserver::FindDeviceScaleFactor(dpi);
31 } 29 }
32 30
33 std::unique_ptr<ui::DisplayMode> MakeDisplayMode(int width, 31 std::unique_ptr<DisplayMode> MakeDisplayMode(int width,
34 int height, 32 int height,
35 bool is_interlaced, 33 bool is_interlaced,
36 float refresh_rate) { 34 float refresh_rate) {
37 return base::MakeUnique<ui::DisplayMode>(gfx::Size(width, height), 35 return base::MakeUnique<DisplayMode>(gfx::Size(width, height), is_interlaced,
38 is_interlaced, refresh_rate); 36 refresh_rate);
39 } 37 }
40 38
41 } // namespace 39 } // namespace
42 40
43 TEST(DisplayChangeObserverTest, GetExternalManagedDisplayModeList) { 41 TEST(DisplayChangeObserverTest, GetExternalManagedDisplayModeList) {
44 std::unique_ptr<ui::DisplaySnapshot> display_snapshot = 42 std::unique_ptr<DisplaySnapshot> display_snapshot =
45 FakeDisplaySnapshot::Builder() 43 FakeDisplaySnapshot::Builder()
46 .SetId(123) 44 .SetId(123)
47 .SetNativeMode(MakeDisplayMode(1920, 1200, false, 60)) 45 .SetNativeMode(MakeDisplayMode(1920, 1200, false, 60))
48 // All non-interlaced (as would be seen with different refresh rates). 46 // All non-interlaced (as would be seen with different refresh rates).
49 .AddMode(MakeDisplayMode(1920, 1080, false, 80)) 47 .AddMode(MakeDisplayMode(1920, 1080, false, 80))
50 .AddMode(MakeDisplayMode(1920, 1080, false, 70)) 48 .AddMode(MakeDisplayMode(1920, 1080, false, 70))
51 .AddMode(MakeDisplayMode(1920, 1080, false, 60)) 49 .AddMode(MakeDisplayMode(1920, 1080, false, 60))
52 // Interlaced vs non-interlaced. 50 // Interlaced vs non-interlaced.
53 .AddMode(MakeDisplayMode(1280, 720, true, 60)) 51 .AddMode(MakeDisplayMode(1280, 720, true, 60))
54 .AddMode(MakeDisplayMode(1280, 720, false, 60)) 52 .AddMode(MakeDisplayMode(1280, 720, false, 60))
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
87 EXPECT_FALSE(display_modes[4]->is_interlaced()); 85 EXPECT_FALSE(display_modes[4]->is_interlaced());
88 EXPECT_EQ(display_modes[4]->refresh_rate(), 80); 86 EXPECT_EQ(display_modes[4]->refresh_rate(), 80);
89 87
90 EXPECT_EQ("1920x1200", display_modes[5]->size().ToString()); 88 EXPECT_EQ("1920x1200", display_modes[5]->size().ToString());
91 EXPECT_FALSE(display_modes[5]->is_interlaced()); 89 EXPECT_FALSE(display_modes[5]->is_interlaced());
92 EXPECT_EQ(display_modes[5]->refresh_rate(), 60); 90 EXPECT_EQ(display_modes[5]->refresh_rate(), 60);
93 } 91 }
94 92
95 TEST(DisplayChangeObserverTest, GetEmptyExternalManagedDisplayModeList) { 93 TEST(DisplayChangeObserverTest, GetEmptyExternalManagedDisplayModeList) {
96 FakeDisplaySnapshot display_snapshot( 94 FakeDisplaySnapshot display_snapshot(
97 123, gfx::Point(), gfx::Size(), ui::DISPLAY_CONNECTION_TYPE_UNKNOWN, 95 123, gfx::Point(), gfx::Size(), DISPLAY_CONNECTION_TYPE_UNKNOWN, false,
98 false, false, false, std::string(), 0, 96 false, false, std::string(), 0,
99 std::vector<std::unique_ptr<const ui::DisplayMode>>(), nullptr, nullptr); 97 std::vector<std::unique_ptr<const DisplayMode>>(), nullptr, nullptr);
100 98
101 ManagedDisplayInfo::ManagedDisplayModeList display_modes = 99 ManagedDisplayInfo::ManagedDisplayModeList display_modes =
102 DisplayChangeObserver::GetExternalManagedDisplayModeList( 100 DisplayChangeObserver::GetExternalManagedDisplayModeList(
103 display_snapshot); 101 display_snapshot);
104 EXPECT_EQ(0u, display_modes.size()); 102 EXPECT_EQ(0u, display_modes.size());
105 } 103 }
106 104
107 TEST(DisplayChangeObserverTest, GetInternalManagedDisplayModeList) { 105 TEST(DisplayChangeObserverTest, GetInternalManagedDisplayModeList) {
108 std::unique_ptr<ui::DisplaySnapshot> display_snapshot = 106 std::unique_ptr<DisplaySnapshot> display_snapshot =
109 FakeDisplaySnapshot::Builder() 107 FakeDisplaySnapshot::Builder()
110 .SetId(123) 108 .SetId(123)
111 .SetNativeMode(MakeDisplayMode(1366, 768, false, 60)) 109 .SetNativeMode(MakeDisplayMode(1366, 768, false, 60))
112 .AddMode(MakeDisplayMode(1024, 768, false, 60)) 110 .AddMode(MakeDisplayMode(1024, 768, false, 60))
113 .AddMode(MakeDisplayMode(800, 600, false, 60)) 111 .AddMode(MakeDisplayMode(800, 600, false, 60))
114 .AddMode(MakeDisplayMode(600, 600, false, 56.2)) 112 .AddMode(MakeDisplayMode(600, 600, false, 56.2))
115 .AddMode(MakeDisplayMode(640, 480, false, 59.9)) 113 .AddMode(MakeDisplayMode(640, 480, false, 59.9))
116 .Build(); 114 .Build();
117 115
118 ManagedDisplayInfo info(1, "", false); 116 ManagedDisplayInfo info(1, "", false);
(...skipping 24 matching lines...) Expand all
143 EXPECT_EQ(display_modes[3]->refresh_rate(), 60); 141 EXPECT_EQ(display_modes[3]->refresh_rate(), 60);
144 142
145 EXPECT_EQ("1366x768", display_modes[4]->size().ToString()); 143 EXPECT_EQ("1366x768", display_modes[4]->size().ToString());
146 EXPECT_FALSE(display_modes[4]->native()); 144 EXPECT_FALSE(display_modes[4]->native());
147 EXPECT_NEAR(display_modes[4]->ui_scale(), 1.125, 0.01); 145 EXPECT_NEAR(display_modes[4]->ui_scale(), 1.125, 0.01);
148 EXPECT_EQ(display_modes[4]->refresh_rate(), 60); 146 EXPECT_EQ(display_modes[4]->refresh_rate(), 60);
149 } 147 }
150 148
151 TEST(DisplayChangeObserverTest, GetInternalHiDPIManagedDisplayModeList) { 149 TEST(DisplayChangeObserverTest, GetInternalHiDPIManagedDisplayModeList) {
152 // Data picked from peppy. 150 // Data picked from peppy.
153 std::unique_ptr<ui::DisplaySnapshot> display_snapshot = 151 std::unique_ptr<DisplaySnapshot> display_snapshot =
154 FakeDisplaySnapshot::Builder() 152 FakeDisplaySnapshot::Builder()
155 .SetId(123) 153 .SetId(123)
156 .SetNativeMode(MakeDisplayMode(2560, 1700, false, 60)) 154 .SetNativeMode(MakeDisplayMode(2560, 1700, false, 60))
157 .AddMode(MakeDisplayMode(2048, 1536, false, 60)) 155 .AddMode(MakeDisplayMode(2048, 1536, false, 60))
158 .AddMode(MakeDisplayMode(1920, 1440, false, 60)) 156 .AddMode(MakeDisplayMode(1920, 1440, false, 60))
159 .Build(); 157 .Build();
160 158
161 ManagedDisplayInfo info(1, "", false); 159 ManagedDisplayInfo info(1, "", false);
162 info.SetBounds(gfx::Rect(0, 0, 2560, 1700)); 160 info.SetBounds(gfx::Rect(0, 0, 2560, 1700));
163 info.set_device_scale_factor(2.0f); 161 info.set_device_scale_factor(2.0f);
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after
202 EXPECT_EQ(display_modes[6]->refresh_rate(), 60); 200 EXPECT_EQ(display_modes[6]->refresh_rate(), 60);
203 201
204 EXPECT_EQ("2560x1700", display_modes[7]->size().ToString()); 202 EXPECT_EQ("2560x1700", display_modes[7]->size().ToString());
205 EXPECT_TRUE(display_modes[7]->native()); 203 EXPECT_TRUE(display_modes[7]->native());
206 EXPECT_NEAR(display_modes[7]->ui_scale(), 2.0, 0.01); 204 EXPECT_NEAR(display_modes[7]->ui_scale(), 2.0, 0.01);
207 EXPECT_EQ(display_modes[7]->refresh_rate(), 60); 205 EXPECT_EQ(display_modes[7]->refresh_rate(), 60);
208 } 206 }
209 207
210 TEST(DisplayChangeObserverTest, GetInternalManagedDisplayModeList1_25) { 208 TEST(DisplayChangeObserverTest, GetInternalManagedDisplayModeList1_25) {
211 // Data picked from peppy. 209 // Data picked from peppy.
212 std::unique_ptr<ui::DisplaySnapshot> display_snapshot = 210 std::unique_ptr<DisplaySnapshot> display_snapshot =
213 FakeDisplaySnapshot::Builder() 211 FakeDisplaySnapshot::Builder()
214 .SetId(123) 212 .SetId(123)
215 .SetNativeMode(MakeDisplayMode(1920, 1080, false, 60)) 213 .SetNativeMode(MakeDisplayMode(1920, 1080, false, 60))
216 .Build(); 214 .Build();
217 215
218 ManagedDisplayInfo info(1, "", false); 216 ManagedDisplayInfo info(1, "", false);
219 info.SetBounds(gfx::Rect(0, 0, 1920, 1080)); 217 info.SetBounds(gfx::Rect(0, 0, 1920, 1080));
220 info.set_device_scale_factor(1.25); 218 info.set_device_scale_factor(1.25);
221 219
222 ManagedDisplayInfo::ManagedDisplayModeList display_modes = 220 ManagedDisplayInfo::ManagedDisplayModeList display_modes =
(...skipping 20 matching lines...) Expand all
243 EXPECT_NEAR(display_modes[3]->ui_scale(), 1.0, 0.01); 241 EXPECT_NEAR(display_modes[3]->ui_scale(), 1.0, 0.01);
244 EXPECT_EQ(display_modes[3]->refresh_rate(), 60); 242 EXPECT_EQ(display_modes[3]->refresh_rate(), 60);
245 243
246 EXPECT_EQ("1920x1080", display_modes[4]->size().ToString()); 244 EXPECT_EQ("1920x1080", display_modes[4]->size().ToString());
247 EXPECT_FALSE(display_modes[4]->native()); 245 EXPECT_FALSE(display_modes[4]->native());
248 EXPECT_NEAR(display_modes[4]->ui_scale(), 1.25, 0.01); 246 EXPECT_NEAR(display_modes[4]->ui_scale(), 1.25, 0.01);
249 EXPECT_EQ(display_modes[4]->refresh_rate(), 60); 247 EXPECT_EQ(display_modes[4]->refresh_rate(), 60);
250 } 248 }
251 249
252 TEST(DisplayChangeObserverTest, GetExternalManagedDisplayModeList4K) { 250 TEST(DisplayChangeObserverTest, GetExternalManagedDisplayModeList4K) {
253 std::unique_ptr<ui::DisplaySnapshot> display_snapshot = 251 std::unique_ptr<DisplaySnapshot> display_snapshot =
254 FakeDisplaySnapshot::Builder() 252 FakeDisplaySnapshot::Builder()
255 .SetId(123) 253 .SetId(123)
256 .SetNativeMode(MakeDisplayMode(3840, 2160, false, 30)) 254 .SetNativeMode(MakeDisplayMode(3840, 2160, false, 30))
257 .AddMode(MakeDisplayMode(1920, 1200, false, 60)) 255 .AddMode(MakeDisplayMode(1920, 1200, false, 60))
258 // All non-interlaced (as would be seen with different refresh rates). 256 // All non-interlaced (as would be seen with different refresh rates).
259 .AddMode(MakeDisplayMode(1920, 1080, false, 80)) 257 .AddMode(MakeDisplayMode(1920, 1080, false, 80))
260 .AddMode(MakeDisplayMode(1920, 1080, false, 70)) 258 .AddMode(MakeDisplayMode(1920, 1080, false, 70))
261 .AddMode(MakeDisplayMode(1920, 1080, false, 60)) 259 .AddMode(MakeDisplayMode(1920, 1080, false, 60))
262 // Interlaced vs non-interlaced. 260 // Interlaced vs non-interlaced.
263 .AddMode(MakeDisplayMode(1280, 720, true, 60)) 261 .AddMode(MakeDisplayMode(1280, 720, true, 60))
(...skipping 80 matching lines...) Expand 10 before | Expand all | Expand 10 after
344 // 12.85" 2560x1700 342 // 12.85" 2560x1700
345 EXPECT_EQ(2.0f, ComputeDeviceScaleFactor(12.85f, gfx::Rect(2560, 1700))); 343 EXPECT_EQ(2.0f, ComputeDeviceScaleFactor(12.85f, gfx::Rect(2560, 1700)));
346 344
347 // Erroneous values should still work. 345 // Erroneous values should still work.
348 EXPECT_EQ(1.0f, DisplayChangeObserver::FindDeviceScaleFactor(-100.0f)); 346 EXPECT_EQ(1.0f, DisplayChangeObserver::FindDeviceScaleFactor(-100.0f));
349 EXPECT_EQ(1.0f, DisplayChangeObserver::FindDeviceScaleFactor(0.0f)); 347 EXPECT_EQ(1.0f, DisplayChangeObserver::FindDeviceScaleFactor(0.0f));
350 EXPECT_EQ(2.0f, DisplayChangeObserver::FindDeviceScaleFactor(10000.0f)); 348 EXPECT_EQ(2.0f, DisplayChangeObserver::FindDeviceScaleFactor(10000.0f));
351 } 349 }
352 350
353 TEST(DisplayChangeObserverTest, FindExternalDisplayNativeModeWhenOverwritten) { 351 TEST(DisplayChangeObserverTest, FindExternalDisplayNativeModeWhenOverwritten) {
354 std::unique_ptr<ui::DisplaySnapshot> display_snapshot = 352 std::unique_ptr<DisplaySnapshot> display_snapshot =
355 FakeDisplaySnapshot::Builder() 353 FakeDisplaySnapshot::Builder()
356 .SetId(123) 354 .SetId(123)
357 .SetNativeMode(MakeDisplayMode(1920, 1080, true, 60)) 355 .SetNativeMode(MakeDisplayMode(1920, 1080, true, 60))
358 .AddMode(MakeDisplayMode(1920, 1080, false, 60)) 356 .AddMode(MakeDisplayMode(1920, 1080, false, 60))
359 .Build(); 357 .Build();
360 358
361 ManagedDisplayInfo::ManagedDisplayModeList display_modes = 359 ManagedDisplayInfo::ManagedDisplayModeList display_modes =
362 DisplayChangeObserver::GetExternalManagedDisplayModeList( 360 DisplayChangeObserver::GetExternalManagedDisplayModeList(
363 *display_snapshot); 361 *display_snapshot);
364 ASSERT_EQ(2u, display_modes.size()); 362 ASSERT_EQ(2u, display_modes.size());
365 EXPECT_EQ("1920x1080", display_modes[0]->size().ToString()); 363 EXPECT_EQ("1920x1080", display_modes[0]->size().ToString());
366 EXPECT_FALSE(display_modes[0]->is_interlaced()); 364 EXPECT_FALSE(display_modes[0]->is_interlaced());
367 EXPECT_FALSE(display_modes[0]->native()); 365 EXPECT_FALSE(display_modes[0]->native());
368 EXPECT_EQ(display_modes[0]->refresh_rate(), 60); 366 EXPECT_EQ(display_modes[0]->refresh_rate(), 60);
369 367
370 EXPECT_EQ("1920x1080", display_modes[1]->size().ToString()); 368 EXPECT_EQ("1920x1080", display_modes[1]->size().ToString());
371 EXPECT_TRUE(display_modes[1]->is_interlaced()); 369 EXPECT_TRUE(display_modes[1]->is_interlaced());
372 EXPECT_TRUE(display_modes[1]->native()); 370 EXPECT_TRUE(display_modes[1]->native());
373 EXPECT_EQ(display_modes[1]->refresh_rate(), 60); 371 EXPECT_EQ(display_modes[1]->refresh_rate(), 60);
374 } 372 }
375 373
376 } // namespace display 374 } // namespace display
OLDNEW
« no previous file with comments | « ui/display/manager/chromeos/display_change_observer.cc ('k') | ui/display/manager/chromeos/display_configurator.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698