| Index: ash/accelerators/accelerator_controller_unittest.cc
|
| diff --git a/ash/accelerators/accelerator_controller_unittest.cc b/ash/accelerators/accelerator_controller_unittest.cc
|
| index cece32878d685de81159d3703d3988b835885285..3f0dbc9d7fe2e1ed85600334ab36c9cac84b240e 100644
|
| --- a/ash/accelerators/accelerator_controller_unittest.cc
|
| +++ b/ash/accelerators/accelerator_controller_unittest.cc
|
| @@ -9,6 +9,7 @@
|
| #include "ash/caps_lock_delegate.h"
|
| #include "ash/display/display_manager.h"
|
| #include "ash/ime_control_delegate.h"
|
| +#include "ash/screen_ash.h"
|
| #include "ash/shell.h"
|
| #include "ash/shell_window_ids.h"
|
| #include "ash/system/brightness_control_delegate.h"
|
| @@ -536,6 +537,37 @@ TEST_F(AcceleratorControllerTest, WindowSnap) {
|
| }
|
| }
|
|
|
| +TEST_F(AcceleratorControllerTest, CenterWindowAccelerator) {
|
| + scoped_ptr<aura::Window> window(
|
| + CreateTestWindowInShellWithBounds(gfx::Rect(5, 5, 20, 20)));
|
| + const ui::Accelerator dummy;
|
| + wm::WindowState* window_state = wm::GetWindowState(window.get());
|
| + window_state->Activate();
|
| +
|
| + // Center the window using accelerator.
|
| + GetController()->PerformAction(WINDOW_POSITION_CENTER, dummy);
|
| + gfx::Rect work_area =
|
| + Shell::GetScreen()->GetDisplayNearestWindow(window.get()).work_area();
|
| + gfx::Rect bounds = window->GetBoundsInScreen();
|
| + EXPECT_NEAR(bounds.x() - work_area.x(),
|
| + work_area.right() - bounds.right(),
|
| + 1);
|
| + EXPECT_NEAR(bounds.y() - work_area.y(),
|
| + work_area.bottom() - bounds.bottom(),
|
| + 1);
|
| +
|
| + // Add the window to docked container and try to center it.
|
| + window->SetBounds(gfx::Rect(0, 0, 20, 20));
|
| + aura::Window* docked_container = Shell::GetContainer(
|
| + window->GetRootWindow(), internal::kShellWindowId_DockedContainer);
|
| + docked_container->AddChild(window.get());
|
| + gfx::Rect docked_bounds = window->GetBoundsInScreen();
|
| + GetController()->PerformAction(WINDOW_POSITION_CENTER, dummy);
|
| + // It should not get centered and should remain docked.
|
| + EXPECT_EQ(internal::kShellWindowId_DockedContainer, window->parent()->id());
|
| + EXPECT_EQ(docked_bounds.ToString(), window->GetBoundsInScreen().ToString());
|
| +}
|
| +
|
| TEST_F(AcceleratorControllerTest, ControllerContext) {
|
| ui::Accelerator accelerator_a(ui::VKEY_A, ui::EF_NONE);
|
| ui::Accelerator accelerator_a2(ui::VKEY_A, ui::EF_NONE);
|
|
|