Index: ash/display/display_manager_unittest.cc |
diff --git a/ash/display/display_manager_unittest.cc b/ash/display/display_manager_unittest.cc |
index 9ed103988fe70a59b19832ef2c8876f96600a18d..4739d4224166de244449e9255fc06c5b8ba99398 100644 |
--- a/ash/display/display_manager_unittest.cc |
+++ b/ash/display/display_manager_unittest.cc |
@@ -121,8 +121,12 @@ class DisplayManagerTest : public test::AshTestBase, |
// aura::WindowObserver overrides: |
void OnWindowDestroying(aura::Window* window) override { |
- ASSERT_EQ(Shell::GetPrimaryRootWindow(), window); |
- root_window_destroyed_ = true; |
+ // TODO(oshima): When moving between unified desktop, the |
+ // primary root window can be deleted. |
+ if (!display_manager()->IsInUnifiedMode()) { |
+ ASSERT_EQ(Shell::GetPrimaryRootWindow(), window); |
+ root_window_destroyed_ = true; |
+ } |
} |
private: |
@@ -629,6 +633,7 @@ TEST_F(DisplayManagerTest, TestNativeDisplaysChanged) { |
EXPECT_EQ(1U, display_manager()->num_connected_displays()); |
EXPECT_FALSE(display_manager()->IsInMirrorMode()); |
+ LOG(ERROR) << "============"; |
// Switched to another display |
display_info_list.clear(); |
display_info_list.push_back(internal_display_info); |
@@ -1207,7 +1212,7 @@ TEST_F(DisplayManagerTest, SoftwareMirroring) { |
Shell::GetScreen()->AddObserver(&display_observer); |
DisplayManager* display_manager = Shell::GetInstance()->display_manager(); |
- display_manager->SetSecondDisplayMode(DisplayManager::MIRRORING); |
+ display_manager->SetMultiDisplayMode(DisplayManager::MIRRORING); |
display_manager->UpdateDisplays(); |
RunAllPendingInMessageLoop(); |
EXPECT_TRUE(display_observer.changed_and_reset()); |
@@ -1265,7 +1270,7 @@ TEST_F(DisplayManagerTest, SingleDisplayToSoftwareMirroring) { |
UpdateDisplay("600x400"); |
DisplayManager* display_manager = Shell::GetInstance()->display_manager(); |
- display_manager->SetSecondDisplayMode(DisplayManager::MIRRORING); |
+ display_manager->SetMultiDisplayMode(DisplayManager::MIRRORING); |
UpdateDisplay("600x400,600x400"); |
EXPECT_TRUE(display_manager->IsInMirrorMode()); |
@@ -1458,6 +1463,26 @@ TEST_F(DisplayManagerTest, MAYBE_UpdateDisplayWithHostOrigin) { |
EXPECT_EQ("200x300", host1->GetBounds().size().ToString()); |
} |
+#if !defined(OS_WIN) && defined(USE_X11) |
+ |
+TEST_F(DisplayManagerTest, UnifiedDesktopBasic) { |
+ display_manager()->SetDefaultMultiDisplayMode(DisplayManager::UNIFIED); |
+ display_manager()->SetMultiDisplayMode(DisplayManager::UNIFIED); |
+ UpdateDisplay("300x200,400x500"); |
+ |
+ gfx::Screen* screen = |
+ gfx::Screen::GetScreenByType(gfx::SCREEN_TYPE_ALTERNATE); |
+ EXPECT_EQ("700x500", screen->GetPrimaryDisplay().size().ToString()); |
+ |
+ display_manager()->SetMirrorMode(true); |
+ EXPECT_EQ("300x200", screen->GetPrimaryDisplay().size().ToString()); |
+ |
+ display_manager()->SetMirrorMode(false); |
+ EXPECT_EQ("700x500", screen->GetPrimaryDisplay().size().ToString()); |
+} |
+ |
+#endif |
+ |
class ScreenShutdownTest : public test::AshTestBase { |
public: |
ScreenShutdownTest() { |