summaryrefslogtreecommitdiffstats
path: root/ash/display/display_manager_unittest.cc
diff options
context:
space:
mode:
Diffstat (limited to 'ash/display/display_manager_unittest.cc')
-rw-r--r--ash/display/display_manager_unittest.cc14
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 {