summaryrefslogtreecommitdiff
path: root/chromium/ash/display/display_controller_unittest.cc
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/ash/display/display_controller_unittest.cc')
-rw-r--r--chromium/ash/display/display_controller_unittest.cc37
1 files changed, 30 insertions, 7 deletions
diff --git a/chromium/ash/display/display_controller_unittest.cc b/chromium/ash/display/display_controller_unittest.cc
index 7e6a0480ec0..9131468c969 100644
--- a/chromium/ash/display/display_controller_unittest.cc
+++ b/chromium/ash/display/display_controller_unittest.cc
@@ -416,6 +416,31 @@ TEST_F(DisplayControllerTest, BoundsUpdated) {
EXPECT_EQ(0, observer.CountAndReset());
}
+TEST_F(DisplayControllerTest, MirroredLayout) {
+ if (!SupportsMultipleDisplays())
+ return;
+
+ DisplayController* display_controller =
+ Shell::GetInstance()->display_controller();
+ UpdateDisplay("500x500,400x400");
+ EXPECT_FALSE(display_controller->GetCurrentDisplayLayout().mirrored);
+ EXPECT_EQ(2, Shell::GetScreen()->GetNumDisplays());
+ EXPECT_EQ(
+ 2U, Shell::GetInstance()->display_manager()->num_connected_displays());
+
+ UpdateDisplay("1+0-500x500,1+0-500x500");
+ EXPECT_TRUE(display_controller->GetCurrentDisplayLayout().mirrored);
+ EXPECT_EQ(1, Shell::GetScreen()->GetNumDisplays());
+ EXPECT_EQ(
+ 2U, Shell::GetInstance()->display_manager()->num_connected_displays());
+
+ UpdateDisplay("500x500,500x500");
+ EXPECT_FALSE(display_controller->GetCurrentDisplayLayout().mirrored);
+ EXPECT_EQ(2, Shell::GetScreen()->GetNumDisplays());
+ EXPECT_EQ(
+ 2U, Shell::GetInstance()->display_manager()->num_connected_displays());
+}
+
TEST_F(DisplayControllerTest, InvertLayout) {
EXPECT_EQ("left, 0",
DisplayLayout(DisplayLayout::RIGHT, 0).Invert().ToString());
@@ -452,8 +477,6 @@ TEST_F(DisplayControllerTest, SwapPrimary) {
DisplayController* display_controller =
Shell::GetInstance()->display_controller();
- internal::DisplayManager* display_manager =
- Shell::GetInstance()->display_manager();
UpdateDisplay("200x200,300x300");
gfx::Display primary_display = Shell::GetScreen()->GetPrimaryDisplay();
@@ -483,12 +506,12 @@ TEST_F(DisplayControllerTest, SwapPrimary) {
EXPECT_EQ("200,0 300x300", secondary_display.bounds().ToString());
EXPECT_EQ("200,0 300x252", secondary_display.work_area().ToString());
EXPECT_EQ("right, 50",
- display_manager->GetCurrentDisplayLayout().ToString());
+ display_controller->GetCurrentDisplayLayout().ToString());
// Switch primary and secondary
display_controller->SetPrimaryDisplay(secondary_display);
const DisplayLayout& inverted_layout =
- display_manager->GetCurrentDisplayLayout();
+ display_controller->GetCurrentDisplayLayout();
EXPECT_EQ("left, -50", inverted_layout.ToString());
EXPECT_EQ(secondary_display.id(),
@@ -543,8 +566,6 @@ TEST_F(DisplayControllerTest, SwapPrimaryById) {
DisplayController* display_controller =
Shell::GetInstance()->display_controller();
- internal::DisplayManager* display_manager =
- Shell::GetInstance()->display_manager();
UpdateDisplay("200x200,300x300");
gfx::Display primary_display = Shell::GetScreen()->GetPrimaryDisplay();
@@ -587,7 +608,7 @@ TEST_F(DisplayControllerTest, SwapPrimaryById) {
EXPECT_FALSE(secondary_root->Contains(launcher_window));
const DisplayLayout& inverted_layout =
- display_manager->GetCurrentDisplayLayout();
+ display_controller->GetCurrentDisplayLayout();
EXPECT_EQ("left, -50", inverted_layout.ToString());
@@ -613,6 +634,8 @@ TEST_F(DisplayControllerTest, SwapPrimaryById) {
EXPECT_FALSE(tracker.Contains(secondary_root));
EXPECT_TRUE(primary_root->Contains(launcher_window));
+ internal::DisplayManager* display_manager =
+ Shell::GetInstance()->display_manager();
// Adding 2nd display with the same ID. The 2nd display should become primary
// since secondary id is still stored as desirable_primary_id.
std::vector<internal::DisplayInfo> display_info_list;