diff options
Diffstat (limited to 'ash/display/display_manager_unittest.cc')
-rw-r--r-- | ash/display/display_manager_unittest.cc | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/ash/display/display_manager_unittest.cc b/ash/display/display_manager_unittest.cc index 9be39e9..7e98711 100644 --- a/ash/display/display_manager_unittest.cc +++ b/ash/display/display_manager_unittest.cc @@ -1999,6 +1999,19 @@ TEST_F(DisplayManagerTest, DockMode) { EXPECT_FALSE(SetDisplayUIScale(gfx::Display::kInvalidDisplayID, 1.0f)); } +// Make sure that bad layout information is ignored and does not crash. +TEST_F(DisplayManagerTest, DontRegisterBadConfig) { + if (!SupportsMultipleDisplays()) + return; + DisplayIdList list = ash::test::CreateDisplayIdList2(1, 2); + DisplayLayoutBuilder builder(1); + builder.AddDisplayPlacement(2, 1, ash::DisplayPlacement::LEFT, 0); + builder.AddDisplayPlacement(3, 1, ash::DisplayPlacement::BOTTOM, 0); + + display_manager()->layout_store()->RegisterLayoutForDisplayIdList( + list, builder.Build()); +} + class ScreenShutdownTest : public test::AshTestBase { public: ScreenShutdownTest() { @@ -2029,7 +2042,6 @@ TEST_F(ScreenShutdownTest, ScreenAfterShutdown) { UpdateDisplay("500x300,800x400"); } - #if defined(OS_CHROMEOS) namespace { |