| Index: ash/wm/workspace/workspace_manager_unittest.cc
|
| diff --git a/ash/wm/workspace/workspace_manager_unittest.cc b/ash/wm/workspace/workspace_manager_unittest.cc
|
| index 1ce1abf1e39b259ad213689642fbaed52291aeaa..5702432f778def3ca0c774c2c7fe5dba7ac0a31e 100644
|
| --- a/ash/wm/workspace/workspace_manager_unittest.cc
|
| +++ b/ash/wm/workspace/workspace_manager_unittest.cc
|
| @@ -391,6 +391,36 @@ TEST_F(WorkspaceManagerTest, DontShowTransientsOnSwitch) {
|
| EXPECT_FALSE(w3->layer()->IsDrawn());
|
| }
|
|
|
| +// Ensure a workspace with two windows reports immersive mode even if only
|
| +// one has the property set.
|
| +TEST_F(WorkspaceManagerTest, ImmersiveMode) {
|
| + // Open a maximized window.
|
| + scoped_ptr<Window> w1(CreateTestWindow());
|
| + w1->SetBounds(gfx::Rect(0, 1, 250, 251));
|
| + w1->SetProperty(aura::client::kShowStateKey, ui::SHOW_STATE_MAXIMIZED);
|
| + w1->Show();
|
| + wm::ActivateWindow(w1.get());
|
| +
|
| + // Should be 2 workspaces, normal and maximized.
|
| + ASSERT_EQ(2u, workspaces().size());
|
| + ASSERT_EQ(1u, workspaces()[1]->window()->children().size());
|
| +
|
| + // Immersive mode off by default.
|
| + EXPECT_FALSE(workspaces()[1]->IsImmersiveMode());
|
| +
|
| + // Enter immersive mode.
|
| + w1->SetProperty(ash::internal::kImmersiveModeKey, true);
|
| + EXPECT_TRUE(workspaces()[1]->IsImmersiveMode());
|
| +
|
| + // Add a transient child, like a print window. Still in immersive mode.
|
| + scoped_ptr<Window> w2(CreateTestWindow());
|
| + w2->SetBounds(gfx::Rect(0, 1, 150, 151));
|
| + w1->AddTransientChild(w2.get());
|
| + w2->Show();
|
| + wm::ActivateWindow(w2.get());
|
| + EXPECT_TRUE(workspaces()[1]->IsImmersiveMode());
|
| +}
|
| +
|
| // Assertions around minimizing a single window.
|
| TEST_F(WorkspaceManagerTest, MinimizeSingleWindow) {
|
| scoped_ptr<Window> w1(CreateTestWindow());
|
|
|