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

Unified Diff: ash/display/display_change_observer_chromeos_unittest.cc

Issue 635403002: Preserve the native mode when parsing external display modes (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@fix-hotplug-in-mirror-mode
Patch Set: . Created 6 years, 2 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « ash/display/display_change_observer_chromeos.cc ('k') | ash/touch/touch_transformer_controller.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 67b81400e3bb109a902b7737ffec53f32553f1de..10ba54b6eb38ad9cdca8f6040af8d58545ca8b95 100644
--- a/ash/display/display_change_observer_chromeos_unittest.cc
+++ b/ash/display/display_change_observer_chromeos_unittest.cc
@@ -313,6 +313,7 @@ TEST_F(DisplayChangeObserverTest, GetExternalDisplayModeList4K) {
// Outputs without any modes shouldn't cause a crash.
modes.clear();
display_snapshot.set_modes(modes.get());
+ display_snapshot.set_native_mode(NULL);
display_modes = DisplayChangeObserver::GetExternalDisplayModeList(output);
EXPECT_EQ(0u, display_modes.size());
@@ -343,4 +344,30 @@ TEST_F(DisplayChangeObserverTest, FindDeviceScaleFactor) {
EXPECT_EQ(2.0f, DisplayChangeObserver::FindDeviceScaleFactor(10000.0f));
}
+TEST_F(DisplayChangeObserverTest,
+ FindExternalDisplayNativeModeWhenOverwritten) {
+ ScopedVector<const ui::DisplayMode> modes;
+ modes.push_back(new ui::DisplayMode(gfx::Size(1920, 1080), true, 60));
+ modes.push_back(new ui::DisplayMode(gfx::Size(1920, 1080), false, 60));
+
+ ui::TestDisplaySnapshot display_snapshot;
+ display_snapshot.set_modes(modes.get());
+ display_snapshot.set_native_mode(modes[0]);
+ DisplayConfigurator::DisplayState output;
+ output.display = &display_snapshot;
+
+ std::vector<DisplayMode> display_modes =
+ DisplayChangeObserver::GetExternalDisplayModeList(output);
+ ASSERT_EQ(2u, display_modes.size());
+ EXPECT_EQ("1920x1080", display_modes[0].size.ToString());
+ EXPECT_FALSE(display_modes[0].interlaced);
+ EXPECT_FALSE(display_modes[0].native);
+ EXPECT_EQ(display_modes[0].refresh_rate, 60);
+
+ EXPECT_EQ("1920x1080", display_modes[1].size.ToString());
+ EXPECT_TRUE(display_modes[1].interlaced);
+ EXPECT_TRUE(display_modes[1].native);
+ EXPECT_EQ(display_modes[1].refresh_rate, 60);
+}
+
} // namespace ash
« no previous file with comments | « ash/display/display_change_observer_chromeos.cc ('k') | ash/touch/touch_transformer_controller.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698