| Index: athena/wm/window_manager_unittest.cc
|
| diff --git a/athena/wm/window_manager_unittest.cc b/athena/wm/window_manager_unittest.cc
|
| index 705e730eae46e2547081aec86d96ba6cfee9d45b..41d949c628ecdf7b947b74f6df7cb7476420565a 100644
|
| --- a/athena/wm/window_manager_unittest.cc
|
| +++ b/athena/wm/window_manager_unittest.cc
|
| @@ -282,4 +282,39 @@ TEST_F(WindowManagerTest, NewWindowBounds) {
|
| wm_api.split_view_controller()->left_window()->bounds().ToString());
|
| }
|
|
|
| +TEST_F(WindowManagerTest, SplitModeActivationByShortcut) {
|
| + WindowManagerImplTestApi wm_api;
|
| +
|
| + aura::test::TestWindowDelegate delegate;
|
| + scoped_ptr<aura::Window> w1(CreateTestWindow(&delegate, gfx::Rect()));
|
| + w1->Show();
|
| +
|
| + ui::test::EventGenerator generator(root_window());
|
| +
|
| + // Splitview mode needs at least two windows.
|
| + generator.PressKey(ui::VKEY_F6, ui::EF_CONTROL_DOWN);
|
| + generator.ReleaseKey(ui::VKEY_F6, ui::EF_CONTROL_DOWN);
|
| + EXPECT_FALSE(wm_api.split_view_controller()->IsSplitViewModeActive());
|
| +
|
| + scoped_ptr<aura::Window> w2(CreateTestWindow(&delegate, gfx::Rect()));
|
| + w2->Show();
|
| +
|
| + generator.PressKey(ui::VKEY_F6, ui::EF_CONTROL_DOWN);
|
| + generator.ReleaseKey(ui::VKEY_F6, ui::EF_CONTROL_DOWN);
|
| + EXPECT_TRUE(wm_api.split_view_controller()->IsSplitViewModeActive());
|
| + int width =
|
| + gfx::Screen::GetNativeScreen()->GetPrimaryDisplay().work_area().width();
|
| +
|
| + EXPECT_EQ(width / 2, w1->bounds().width());
|
| + EXPECT_EQ(width / 2, w2->bounds().width());
|
| +
|
| + // Toggle back to normal mode.
|
| + generator.PressKey(ui::VKEY_F6, ui::EF_CONTROL_DOWN);
|
| + generator.ReleaseKey(ui::VKEY_F6, ui::EF_CONTROL_DOWN);
|
| + EXPECT_FALSE(wm_api.split_view_controller()->IsSplitViewModeActive());
|
| +
|
| + EXPECT_EQ(width, w1->bounds().width());
|
| + EXPECT_EQ(width, w2->bounds().width());
|
| +}
|
| +
|
| } // namespace athena
|
|
|