Index: ash/display/display_change_observer_chromeos_unittest.cc |
diff --git a/ash/display/display_change_observer_chromeos_unittest.cc b/ash/display/display_change_observer_chromeos_unittest.cc |
index 118e82653ee3d327c16e63706f42d7c96e7f7d1a..0c58b7002ff5e6111afcb2aa5445e7ec742ae60b 100644 |
--- a/ash/display/display_change_observer_chromeos_unittest.cc |
+++ b/ash/display/display_change_observer_chromeos_unittest.cc |
@@ -82,4 +82,30 @@ TEST_F(DisplayChangeObserverTest, GetDisplayModeList) { |
EXPECT_EQ(0u, display_modes.size()); |
} |
+TEST_F(DisplayChangeObserverTest, GetScaleFactor) { |
+ // Normal chromebook spec. DPI ~= 130 |
+ EXPECT_EQ(1.0f, DisplayChangeObserver::GetScaleFactor( |
+ gfx::Size(256, 144), gfx::Size(1366, 768))); |
+ |
+ // HiDPI like Pixel. DPI ~= 240 |
+ EXPECT_EQ(2.0f, DisplayChangeObserver::GetScaleFactor( |
+ gfx::Size(272, 181), gfx::Size(2560, 1700))); |
+ |
+ // A large external display but normal pixel density. DPI ~= 100 |
+ EXPECT_EQ(1.0f, DisplayChangeObserver::GetScaleFactor( |
+ gfx::Size(641, 400), gfx::Size(2560, 1600))); |
+ |
+ // A large external display with high pixel density. DPI ~= 157 |
+ EXPECT_EQ(2.0f, DisplayChangeObserver::GetScaleFactor( |
+ gfx::Size(621, 341), gfx::Size(3840, 2160))); |
+ |
+ // 4K resolution but the display is physically even larger. DPI ~= 114 |
+ EXPECT_EQ(1.0f, DisplayChangeObserver::GetScaleFactor( |
+ gfx::Size(854, 481), gfx::Size(3840, 2160))); |
+ |
+ // Corner case; slightly higher density but smaller screens. DPI ~= 165 |
+ EXPECT_EQ(1.0f, DisplayChangeObserver::GetScaleFactor( |
+ gfx::Size(293, 165), gfx::Size(1920, 1080))); |
+} |
+ |
} // namespace ash |