Chromium Code Reviews| Index: ash/root_window_controller_unittest.cc |
| diff --git a/ash/root_window_controller_unittest.cc b/ash/root_window_controller_unittest.cc |
| index c5bd68da6e6f63b4743d94865f97c73da97669c0..55b3ed26b2c7469df266bb096b2d2e205b893165 100644 |
| --- a/ash/root_window_controller_unittest.cc |
| +++ b/ash/root_window_controller_unittest.cc |
| @@ -372,31 +372,34 @@ TEST_F(RootWindowControllerTest, ModalContainerNotLoggedInLoggedIn) { |
| session_modal_widget->GetNativeView())); |
| } |
| -// Ensure a workspace with two windows reports immersive mode even if only |
| -// one has the property set. |
| -TEST_F(RootWindowControllerTest, ImmersiveMode) { |
| +// Test that GetFullscreenWindow() returns a fullscreen window only if the |
|
James Cook
2013/04/23 20:02:13
Hooray, a test!
|
| +// fullscreen window is in the active workspace. |
| +TEST_F(RootWindowControllerTest, GetFullscreenWindow) { |
| UpdateDisplay("600x600"); |
| internal::RootWindowController* controller = |
| Shell::GetInstance()->GetPrimaryRootWindowController(); |
| - // Open a maximized window. |
| - Widget* w1 = CreateTestWidget(gfx::Rect(0, 1, 250, 251)); |
| + Widget* w1 = CreateTestWidget(gfx::Rect(0, 0, 100, 100)); |
| w1->Maximize(); |
| - |
| - // Immersive mode off by default. |
| - EXPECT_FALSE(controller->IsImmersiveMode()); |
| - |
| - // Enter immersive mode. |
| - w1->GetNativeWindow()->SetProperty(ash::internal::kImmersiveModeKey, true); |
| - EXPECT_TRUE(controller->IsImmersiveMode()); |
| - |
| - // Add a child, like a print window. Still in immersive mode. |
| - Widget* w2 = |
| - Widget::CreateWindowWithParentAndBounds(NULL, |
| - w1->GetNativeWindow(), |
| - gfx::Rect(0, 1, 150, 151)); |
| - w2->Show(); |
| - EXPECT_TRUE(controller->IsImmersiveMode()); |
| + Widget* w2 = CreateTestWidget(gfx::Rect(0, 0, 100, 100)); |
| + w2->SetFullscreen(true); |
| + // |w3| is a transient child of |w2|. |
| + Widget* w3 = Widget::CreateWindowWithParentAndBounds(NULL, |
| + w2->GetNativeWindow(), gfx::Rect(0, 0, 100, 100)); |
| + |
| + // Test that GetFullscreenWindow() finds the fullscreen window when one of |
| + // its transient children is active. |
| + w3->Activate(); |
| + EXPECT_EQ(w2->GetNativeWindow(), controller->GetFullscreenWindow()); |
| + |
| + // Activate the maximized window's workspace. GetFullscreenWindow() should |
| + // fail because the fullscreen window's workspace is no longer active. |
| + w1->Activate(); |
| + EXPECT_FALSE(controller->GetFullscreenWindow()); |
| + |
| + // If the fullscreen window is active, GetFullscreenWindow() should find it. |
| + w2->Activate(); |
| + EXPECT_EQ(w2->GetNativeWindow(), controller->GetFullscreenWindow()); |
| } |
| } // namespace test |