Chromium Code Reviews| Index: ash/system/overview/overview_button_tray_unittest.cc |
| diff --git a/ash/system/overview/overview_button_tray_unittest.cc b/ash/system/overview/overview_button_tray_unittest.cc |
| index a752f13e02b80941c0b312f7aa142f2b47eb34e0..fad6c047215d3ae13c3250385c8a8049ca8348ef 100644 |
| --- a/ash/system/overview/overview_button_tray_unittest.cc |
| +++ b/ash/system/overview/overview_button_tray_unittest.cc |
| @@ -18,6 +18,7 @@ |
| #include "ash/test/status_area_widget_test_helper.h" |
| #include "ash/wm/maximize_mode/maximize_mode_controller.h" |
| #include "ash/wm/overview/window_selector_controller.h" |
| +#include "ash/wm/window_util.h" |
| #include "base/command_line.h" |
| #include "base/test/user_action_tester.h" |
| #include "base/time/time.h" |
| @@ -108,6 +109,45 @@ TEST_F(OverviewButtonTrayTest, PerformAction) { |
| ui::GestureEventDetails(ui::ET_GESTURE_TAP)); |
| GetTray()->PerformAction(tap); |
| EXPECT_TRUE(Shell::Get()->window_selector_controller()->IsSelecting()); |
| + |
| + // Verify tapping on the button again closes overview mode. |
| + GetTray()->PerformAction(tap); |
| + EXPECT_FALSE(Shell::Get()->window_selector_controller()->IsSelecting()); |
| +} |
| + |
| +TEST_F(OverviewButtonTrayTest, PerformDoubleTapAction) { |
| + ASSERT_FALSE(Shell::Get()->window_selector_controller()->IsSelecting()); |
| + |
| + // Verify that when we only have one active window, a double tap will act as a |
| + // two single taps and open then close overview mode. |
|
sadrul
2017/05/18 13:41:38
I don't think this case is actually tested. Can yo
sammiequon
2017/05/18 16:19:06
Done.
|
| + std::unique_ptr<aura::Window> window1( |
| + CreateTestWindowInShellWithBounds(gfx::Rect(5, 5, 20, 20))); |
| + wm::ActivateWindow(window1.get()); |
|
James Cook
2017/05/18 15:10:54
Do you have to activate this one?
sammiequon
2017/05/18 16:19:06
Nope. Removed.
|
| + |
| + // Add a secondary active window to test quick switch. |
| + std::unique_ptr<aura::Window> window2( |
| + CreateTestWindowInShellWithBounds(gfx::Rect(5, 5, 20, 20))); |
| + wm::ActivateWindow(window2.get()); |
| + EXPECT_TRUE(wm::IsActiveWindow(window2.get())); |
| + |
| + // Verify that after double tapping, we have switched to window 1. |
| + ui::GestureEventDetails double_tap_details(ui::ET_GESTURE_TAP); |
| + double_tap_details.set_tap_count(2); |
| + ui::GestureEvent double_tap(0, 0, 0, base::TimeTicks(), double_tap_details); |
| + GetTray()->PerformAction(double_tap); |
| + EXPECT_TRUE(wm::IsActiveWindow(window1.get())); |
| + EXPECT_FALSE(Shell::Get()->window_selector_controller()->IsSelecting()); |
| + |
| + // Verify that if we double tap on the window selection page, nothing happens |
| + // and both windows are not the active window. |
| + ui::GestureEvent tap(0, 0, 0, base::TimeTicks(), |
| + ui::GestureEventDetails(ui::ET_GESTURE_TAP)); |
| + GetTray()->PerformAction(tap); |
| + ASSERT_TRUE(Shell::Get()->window_selector_controller()->IsSelecting()); |
| + GetTray()->PerformAction(double_tap); |
| + EXPECT_FALSE(wm::IsActiveWindow(window1.get())); |
| + EXPECT_FALSE(wm::IsActiveWindow(window2.get())); |
| + EXPECT_TRUE(Shell::Get()->window_selector_controller()->IsSelecting()); |
|
James Cook
2017/05/18 15:10:54
Nice test - easy to read. I like the style of bloc
sammiequon
2017/05/18 16:19:06
Thanks :-).
|
| } |
| // Tests that tapping on the control will record the user action Tray_Overview. |