Index: ash/accelerators/accelerator_interactive_uitest.cc |
diff --git a/ash/accelerators/accelerator_interactive_uitest.cc b/ash/accelerators/accelerator_interactive_uitest.cc |
deleted file mode 100644 |
index 6dc8d5916d8ccbad8744d1956330854d61df8361..0000000000000000000000000000000000000000 |
--- a/ash/accelerators/accelerator_interactive_uitest.cc |
+++ /dev/null |
@@ -1,233 +0,0 @@ |
-// Copyright 2015 The Chromium Authors. All rights reserved. |
-// Use of this source code is governed by a BSD-style license that can be |
-// found in the LICENSE file. |
- |
-#include "ash/accelerators/accelerator_controller.h" |
- |
-#include "ash/shell.h" |
-#include "ash/shell_observer.h" |
-#include "ash/system/tray/system_tray_delegate.h" |
-#include "ash/system/tray/system_tray_notifier.h" |
-#include "ash/test/ash_test_base.h" |
-#include "ash/test/test_screenshot_delegate.h" |
-#include "ash/test/test_volume_control_delegate.h" |
-#include "ash/wm/window_state.h" |
-#include "ash/wm/window_util.h" |
-#include "base/path_service.h" |
-#include "base/run_loop.h" |
-#include "ui/base/resource/resource_bundle.h" |
-#include "ui/base/test/ui_controls.h" |
-#include "ui/base/ui_base_paths.h" |
-#include "ui/gl/gl_surface.h" |
- |
-#if defined(OS_CHROMEOS) |
-#include "ash/system/chromeos/network/network_observer.h" |
-#include "chromeos/network/network_handler.h" |
-#endif // defined(OS_CHROMEOS) |
- |
-namespace ash { |
-namespace test { |
- |
-namespace { |
- |
-#if defined(OS_CHROMEOS) |
-// A network observer to watch for the toggle wifi events. |
-class TestNetworkObserver : public NetworkObserver { |
- public: |
- TestNetworkObserver() : wifi_enabled_status_(false) {} |
- |
- // ash::NetworkObserver: |
- void RequestToggleWifi() override { |
- wifi_enabled_status_ = !wifi_enabled_status_; |
- } |
- |
- bool wifi_enabled_status() const { return wifi_enabled_status_; } |
- |
- private: |
- bool wifi_enabled_status_; |
- |
- DISALLOW_COPY_AND_ASSIGN(TestNetworkObserver); |
-}; |
-#endif // defined(OS_CHROMEOS) |
- |
-} // namespace |
- |
-//////////////////////////////////////////////////////////////////////////////// |
- |
-// This is intended to test few samples from each category of accelerators to |
-// make sure they work properly. The test is done as an interactive ui test |
-// using ui_controls::Send*() functions. |
-// This is to catch any future regressions (crbug.com/469235). |
-class AcceleratorInteractiveUITest : public AshTestBase, public ShellObserver { |
- public: |
- AcceleratorInteractiveUITest() : is_in_overview_mode_(false) {} |
- |
- void SetUp() override { |
- gfx::GLSurface::InitializeOneOffForTests(); |
- |
- ui::RegisterPathProvider(); |
- ui::ResourceBundle::InitSharedInstanceWithLocale( |
- "en-US", NULL, ui::ResourceBundle::LOAD_COMMON_RESOURCES); |
- base::FilePath resources_pack_path; |
- PathService::Get(base::DIR_MODULE, &resources_pack_path); |
- resources_pack_path = |
- resources_pack_path.Append(FILE_PATH_LITERAL("resources.pak")); |
- ResourceBundle::GetSharedInstance().AddDataPackFromPath( |
- resources_pack_path, ui::SCALE_FACTOR_NONE); |
- |
- AshTestBase::SetUp(); |
- |
- Shell::GetInstance()->AddShellObserver(this); |
- |
-#if defined(OS_CHROMEOS) |
- chromeos::NetworkHandler::Initialize(); |
-#endif // defined(OS_CHROMEOS) |
- } |
- |
- void TearDown() override { |
- Shell::GetInstance()->RemoveShellObserver(this); |
- |
-#if defined(OS_CHROMEOS) |
- chromeos::NetworkHandler::Shutdown(); |
-#endif // defined(OS_CHROMEOS) |
- |
- AshTestBase::TearDown(); |
- } |
- |
- // Sends a key press event and waits synchronously until it's completely |
- // processed. |
- void SendKeyPressSync(ui::KeyboardCode key, |
- bool control, |
- bool shift, |
- bool alt) { |
- base::RunLoop loop; |
- ui_controls::SendKeyPressNotifyWhenDone(root_window(), key, control, shift, |
- alt, false, loop.QuitClosure()); |
- loop.Run(); |
- } |
- |
- // ash::ShellObserver: |
- void OnOverviewModeStarting() override { is_in_overview_mode_ = true; } |
- void OnOverviewModeEnded() override { is_in_overview_mode_ = false; } |
- |
- Shell* shell() const { return Shell::GetInstance(); } |
- aura::Window* root_window() const { return Shell::GetPrimaryRootWindow(); } |
- |
- protected: |
- bool is_in_overview_mode_; |
- |
- private: |
- DISALLOW_COPY_AND_ASSIGN(AcceleratorInteractiveUITest); |
-}; |
- |
-//////////////////////////////////////////////////////////////////////////////// |
- |
-#if !defined(OS_CHROMEOS) |
-#define MAYBE_TestNonRepeatableNeedingWindowActions \ |
- DISABLED_TestNonRepeatableNeedingWindowActions |
-#define MAYBE_ToggleAppList DISABLED_ToggleAppList |
-#else |
-#define MAYBE_TestNonRepeatableNeedingWindowActions \ |
- TestNonRepeatableNeedingWindowActions |
-#define MAYBE_ToggleAppList ToggleAppList |
-#endif // !defined(OS_CHROMEOS) |
- |
-// Tests a sample of the non-repeatable accelerators that need windows to be |
-// enabled. |
-TEST_F(AcceleratorInteractiveUITest, |
- MAYBE_TestNonRepeatableNeedingWindowActions) { |
- // Create a bunch of windows to work with. |
- aura::Window* window_1 = |
- CreateTestWindowInShellWithBounds(gfx::Rect(0, 0, 100, 100)); |
- aura::Window* window_2 = |
- CreateTestWindowInShellWithBounds(gfx::Rect(0, 0, 100, 100)); |
- window_1->Show(); |
- wm::ActivateWindow(window_1); |
- window_2->Show(); |
- wm::ActivateWindow(window_2); |
- |
- // Test TOGGLE_OVERVIEW. |
- EXPECT_FALSE(is_in_overview_mode_); |
- SendKeyPressSync(ui::VKEY_MEDIA_LAUNCH_APP1, false, false, false); |
- EXPECT_TRUE(is_in_overview_mode_); |
- SendKeyPressSync(ui::VKEY_MEDIA_LAUNCH_APP1, false, false, false); |
- EXPECT_FALSE(is_in_overview_mode_); |
- |
- // Test CYCLE_FORWARD_MRU and CYCLE_BACKWARD_MRU. |
- wm::ActivateWindow(window_1); |
- EXPECT_TRUE(wm::IsActiveWindow(window_1)); |
- EXPECT_FALSE(wm::IsActiveWindow(window_2)); |
- SendKeyPressSync(ui::VKEY_TAB, false, false, true); // CYCLE_FORWARD_MRU. |
- EXPECT_TRUE(wm::IsActiveWindow(window_2)); |
- EXPECT_FALSE(wm::IsActiveWindow(window_1)); |
- SendKeyPressSync(ui::VKEY_TAB, false, true, true); // CYCLE_BACKWARD_MRU. |
- EXPECT_TRUE(wm::IsActiveWindow(window_1)); |
- EXPECT_FALSE(wm::IsActiveWindow(window_2)); |
- |
- // Test TOGGLE_FULLSCREEN. |
- wm::WindowState* active_window_state = wm::GetActiveWindowState(); |
- EXPECT_FALSE(active_window_state->IsFullscreen()); |
- SendKeyPressSync(ui::VKEY_MEDIA_LAUNCH_APP2, false, false, false); |
- EXPECT_TRUE(active_window_state->IsFullscreen()); |
- SendKeyPressSync(ui::VKEY_MEDIA_LAUNCH_APP2, false, false, false); |
- EXPECT_FALSE(active_window_state->IsFullscreen()); |
-} |
- |
-#if defined(OS_CHROMEOS) |
-// Tests a sample of ChromeOS specific accelerators. |
-TEST_F(AcceleratorInteractiveUITest, ChromeOsAccelerators) { |
- // Test TAKE_SCREENSHOT and TAKE_PARTIAL_SCREENSHOT. |
- TestScreenshotDelegate* screenshot_delegate = GetScreenshotDelegate(); |
- screenshot_delegate->set_can_take_screenshot(true); |
- EXPECT_EQ(0, screenshot_delegate->handle_take_screenshot_count()); |
- SendKeyPressSync(ui::VKEY_MEDIA_LAUNCH_APP1, true, false, false); |
- EXPECT_EQ(1, screenshot_delegate->handle_take_screenshot_count()); |
- SendKeyPressSync(ui::VKEY_PRINT, false, false, false); |
- EXPECT_EQ(2, screenshot_delegate->handle_take_screenshot_count()); |
- SendKeyPressSync(ui::VKEY_MEDIA_LAUNCH_APP1, true, true, false); |
- EXPECT_EQ(2, screenshot_delegate->handle_take_screenshot_count()); |
- // Press ESC to go out of the partial screenshot mode. |
- SendKeyPressSync(ui::VKEY_ESCAPE, false, false, false); |
- |
- // Test VOLUME_MUTE, VOLUME_DOWN, and VOLUME_UP. |
- TestVolumeControlDelegate* volume_delegate = new TestVolumeControlDelegate; |
- shell()->system_tray_delegate()->SetVolumeControlDelegate( |
- scoped_ptr<VolumeControlDelegate>(volume_delegate).Pass()); |
- // VOLUME_MUTE. |
- EXPECT_EQ(0, volume_delegate->handle_volume_mute_count()); |
- SendKeyPressSync(ui::VKEY_VOLUME_MUTE, false, false, false); |
- EXPECT_EQ(1, volume_delegate->handle_volume_mute_count()); |
- // VOLUME_DOWN. |
- EXPECT_EQ(0, volume_delegate->handle_volume_down_count()); |
- SendKeyPressSync(ui::VKEY_VOLUME_DOWN, false, false, false); |
- EXPECT_EQ(1, volume_delegate->handle_volume_down_count()); |
- // VOLUME_UP. |
- EXPECT_EQ(0, volume_delegate->handle_volume_up_count()); |
- SendKeyPressSync(ui::VKEY_VOLUME_UP, false, false, false); |
- EXPECT_EQ(1, volume_delegate->handle_volume_up_count()); |
- |
- // Test TOGGLE_WIFI. |
- TestNetworkObserver network_observer; |
- shell()->system_tray_notifier()->AddNetworkObserver(&network_observer); |
- |
- EXPECT_FALSE(network_observer.wifi_enabled_status()); |
- SendKeyPressSync(ui::VKEY_WLAN, false, false, false); |
- EXPECT_TRUE(network_observer.wifi_enabled_status()); |
- SendKeyPressSync(ui::VKEY_WLAN, false, false, false); |
- EXPECT_FALSE(network_observer.wifi_enabled_status()); |
- |
- shell()->system_tray_notifier()->RemoveNetworkObserver(&network_observer); |
-} |
-#endif // defined(OS_CHROMEOS) |
- |
-// Tests the app list accelerator. |
-TEST_F(AcceleratorInteractiveUITest, MAYBE_ToggleAppList) { |
- EXPECT_FALSE(shell()->GetAppListTargetVisibility()); |
- SendKeyPressSync(ui::VKEY_LWIN, false, false, false); |
- EXPECT_TRUE(shell()->GetAppListTargetVisibility()); |
- SendKeyPressSync(ui::VKEY_LWIN, false, false, false); |
- EXPECT_FALSE(shell()->GetAppListTargetVisibility()); |
-} |
- |
-} // namespace test |
-} // namespace ash |