diff options
Diffstat (limited to 'ash/display/display_manager_unittest.cc')
-rw-r--r-- | ash/display/display_manager_unittest.cc | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/ash/display/display_manager_unittest.cc b/ash/display/display_manager_unittest.cc index 33ca06e..a188f9b 100644 --- a/ash/display/display_manager_unittest.cc +++ b/ash/display/display_manager_unittest.cc @@ -717,6 +717,42 @@ TEST_F(DisplayManagerTest, NativeDisplaysChangedAfterPrimaryChange) { EXPECT_EQ("0,0 100x100", GetDisplayForId(10).bounds().ToString()); } +TEST_F(DisplayManagerTest, DontRememberBestResolution) { + int display_id = 1000; + DisplayInfo native_display_info = + CreateDisplayInfo(display_id, gfx::Rect(0, 0, 1000, 500)); + std::vector<Resolution> resolutions; + resolutions.push_back(Resolution(gfx::Size(1000, 500), false)); + resolutions.push_back(Resolution(gfx::Size(800, 300), false)); + resolutions.push_back(Resolution(gfx::Size(400, 500), false)); + + native_display_info.set_resolutions(resolutions); + + std::vector<DisplayInfo> display_info_list; + display_info_list.push_back(native_display_info); + display_manager()->OnNativeDisplaysChanged(display_info_list); + + gfx::Size selected; + EXPECT_FALSE(display_manager()->GetSelectedResolutionForDisplayId( + display_id, &selected)); + + // Unsupported resolution. + display_manager()->SetDisplayResolution(display_id, gfx::Size(800, 4000)); + EXPECT_FALSE(display_manager()->GetSelectedResolutionForDisplayId( + display_id, &selected)); + + // Supported resolution. + display_manager()->SetDisplayResolution(display_id, gfx::Size(800, 300)); + EXPECT_TRUE(display_manager()->GetSelectedResolutionForDisplayId( + display_id, &selected)); + EXPECT_EQ("800x300", selected.ToString()); + + // Best resolution. + display_manager()->SetDisplayResolution(display_id, gfx::Size(1000, 500)); + EXPECT_FALSE(display_manager()->GetSelectedResolutionForDisplayId( + display_id, &selected)); +} + TEST_F(DisplayManagerTest, Rotate) { if (!SupportsMultipleDisplays()) return; |