Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1116)

Unified Diff: ash/accelerators/accelerator_controller_unittest.cc

Issue 2576913002: Use mojo app list interfaces for mash and classic ash. (Closed)
Patch Set: Sync and rebase Created 3 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « ash/accelerators/DEPS ('k') | ash/accelerators/accelerator_interactive_uitest_chromeos.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: ash/accelerators/accelerator_controller_unittest.cc
diff --git a/ash/accelerators/accelerator_controller_unittest.cc b/ash/accelerators/accelerator_controller_unittest.cc
index abf2ab706dc0e96be65831a9c1a5edaf3cb4e566..84aacdd9e9ab1de57df3c83af7974387ded5b35d 100644
--- a/ash/accelerators/accelerator_controller_unittest.cc
+++ b/ash/accelerators/accelerator_controller_unittest.cc
@@ -30,6 +30,8 @@
#include "ash/wm/window_util.h"
#include "base/test/user_action_tester.cc"
#include "services/ui/public/interfaces/window_manager_constants.mojom.h"
+#include "ui/app_list/presenter/app_list.h"
+#include "ui/app_list/presenter/test/test_app_list_presenter.h"
#include "ui/aura/client/aura_constants.h"
#include "ui/aura/test/test_window_delegate.h"
#include "ui/aura/test/test_windows.h"
@@ -274,7 +276,6 @@ AcceleratorController* AcceleratorControllerTest::GetController() {
return WmShell::Get()->accelerator_controller();
}
-#if !defined(OS_WIN)
// Double press of exit shortcut => exiting
TEST_F(AcceleratorControllerTest, ExitWarningHandlerTestDoublePress) {
ui::Accelerator press(ui::VKEY_Q, ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN);
@@ -330,7 +331,6 @@ TEST_F(AcceleratorControllerTest, LingeringExitWarningBubble) {
// Exit ash and there should be no crash
}
-#endif // !defined(OS_WIN)
TEST_F(AcceleratorControllerTest, Register) {
const ui::Accelerator accelerator_a(ui::VKEY_A, ui::EF_NONE);
@@ -743,15 +743,8 @@ TEST_F(AcceleratorControllerTest, DontRepeatToggleFullscreen) {
}
// TODO(oshima): Fix this test to use EventGenerator.
-#if defined(OS_WIN)
-// crbug.com/317592
-#define MAYBE_ProcessOnce DISABLED_ProcessOnce
-#else
-#define MAYBE_ProcessOnce ProcessOnce
-#endif
-
-#if defined(OS_WIN) || defined(USE_X11)
-TEST_F(AcceleratorControllerTest, MAYBE_ProcessOnce) {
+#if defined(USE_X11)
+TEST_F(AcceleratorControllerTest, ProcessOnce) {
// The IME event filter interferes with the basic key event propagation we
// attempt to do here, so we disable it.
DisableIME();
@@ -762,22 +755,7 @@ TEST_F(AcceleratorControllerTest, MAYBE_ProcessOnce) {
// The accelerator is processed only once.
ui::EventProcessor* dispatcher =
Shell::GetPrimaryRootWindow()->GetHost()->event_processor();
-#if defined(OS_WIN)
- MSG msg1 = {NULL, WM_KEYDOWN, ui::VKEY_A, 0};
- ui::KeyEvent key_event1(msg1);
- ui::EventDispatchDetails details = dispatcher->OnEventFromSource(&key_event1);
- EXPECT_TRUE(key_event1.handled() || details.dispatcher_destroyed);
-
- MSG msg2 = {NULL, WM_CHAR, L'A', 0};
- ui::KeyEvent key_event2(msg2);
- details = dispatcher->OnEventFromSource(&key_event2);
- EXPECT_FALSE(key_event2.handled() || details.dispatcher_destroyed);
- MSG msg3 = {NULL, WM_KEYUP, ui::VKEY_A, 0};
- ui::KeyEvent key_event3(msg3);
- details = dispatcher->OnEventFromSource(&key_event3);
- EXPECT_FALSE(key_event3.handled() || details.dispatcher_destroyed);
-#elif defined(USE_X11)
ui::ScopedXI2Event key_event;
key_event.InitKeyEvent(ui::ET_KEY_PRESSED, ui::VKEY_A, 0);
ui::KeyEvent key_event1(key_event);
@@ -792,7 +770,6 @@ TEST_F(AcceleratorControllerTest, MAYBE_ProcessOnce) {
ui::KeyEvent key_event3(key_event);
details = dispatcher->OnEventFromSource(&key_event3);
EXPECT_FALSE(key_event3.handled() || details.dispatcher_destroyed);
-#endif
EXPECT_EQ(1, target.accelerator_pressed_count());
}
#endif
@@ -808,7 +785,6 @@ TEST_F(AcceleratorControllerTest, GlobalAccelerators) {
EXPECT_TRUE(ProcessInController(
ui::Accelerator(ui::VKEY_MEDIA_LAUNCH_APP1, ui::EF_NONE)));
-#if defined(OS_CHROMEOS)
// The "Take Screenshot", "Take Partial Screenshot", volume, brightness, and
// keyboard brightness accelerators are only defined on ChromeOS.
{
@@ -895,9 +871,7 @@ TEST_F(AcceleratorControllerTest, GlobalAccelerators) {
EXPECT_EQ(1, delegate->handle_keyboard_brightness_up_count());
EXPECT_EQ(alt_brightness_up, delegate->last_accelerator());
}
-#endif
-#if !defined(OS_WIN)
// Exit
ExitWarningHandler* ewh = GetController()->GetExitWarningHandlerForTest();
ASSERT_TRUE(ewh);
@@ -912,7 +886,6 @@ TEST_F(AcceleratorControllerTest, GlobalAccelerators) {
EXPECT_TRUE(is_idle(ewh));
EXPECT_FALSE(is_ui_shown(ewh));
Reset(ewh);
-#endif
// New tab
EXPECT_TRUE(
@@ -934,7 +907,6 @@ TEST_F(AcceleratorControllerTest, GlobalAccelerators) {
EXPECT_TRUE(
ProcessInController(ui::Accelerator(ui::VKEY_ESCAPE, ui::EF_SHIFT_DOWN)));
-#if defined(OS_CHROMEOS)
// Open file manager
EXPECT_TRUE(ProcessInController(
ui::Accelerator(ui::VKEY_M, ui::EF_SHIFT_DOWN | ui::EF_ALT_DOWN)));
@@ -945,24 +917,25 @@ TEST_F(AcceleratorControllerTest, GlobalAccelerators) {
// effect of locking the screen.
EXPECT_TRUE(
ProcessInController(ui::Accelerator(ui::VKEY_L, ui::EF_COMMAND_DOWN)));
-#endif
}
TEST_F(AcceleratorControllerTest, GlobalAcceleratorsToggleAppList) {
+ app_list::test::TestAppListPresenter test_app_list_presenter;
+ WmShell::Get()->app_list()->SetAppListPresenter(
+ test_app_list_presenter.CreateInterfacePtrAndBind());
AccessibilityDelegate* delegate = WmShell::Get()->accessibility_delegate();
- EXPECT_FALSE(WmShell::Get()->GetAppListTargetVisibility());
- // The press event should not open the AppList, the release should instead.
+ // The press event should not toggle the AppList, the release should instead.
EXPECT_FALSE(
ProcessInController(ui::Accelerator(ui::VKEY_LWIN, ui::EF_NONE)));
+ RunAllPendingInMessageLoop();
EXPECT_EQ(ui::VKEY_LWIN, GetCurrentAccelerator().key_code());
-
- EXPECT_FALSE(WmShell::Get()->GetAppListTargetVisibility());
+ EXPECT_EQ(0u, test_app_list_presenter.toggle_count());
EXPECT_TRUE(
ProcessInController(ReleaseAccelerator(ui::VKEY_LWIN, ui::EF_NONE)));
- EXPECT_TRUE(WmShell::Get()->GetAppListTargetVisibility());
-
+ RunAllPendingInMessageLoop();
+ EXPECT_EQ(1u, test_app_list_presenter.toggle_count());
EXPECT_EQ(ui::VKEY_LWIN, GetPreviousAccelerator().key_code());
// When spoken feedback is on, the AppList should not toggle.
@@ -972,32 +945,26 @@ TEST_F(AcceleratorControllerTest, GlobalAcceleratorsToggleAppList) {
EXPECT_FALSE(
ProcessInController(ReleaseAccelerator(ui::VKEY_LWIN, ui::EF_NONE)));
delegate->ToggleSpokenFeedback(A11Y_NOTIFICATION_NONE);
- EXPECT_TRUE(WmShell::Get()->GetAppListTargetVisibility());
+ RunAllPendingInMessageLoop();
+ EXPECT_EQ(1u, test_app_list_presenter.toggle_count());
+ // Turning off spoken feedback should allow the AppList to toggle again.
EXPECT_FALSE(
ProcessInController(ui::Accelerator(ui::VKEY_LWIN, ui::EF_NONE)));
EXPECT_TRUE(
ProcessInController(ReleaseAccelerator(ui::VKEY_LWIN, ui::EF_NONE)));
- EXPECT_FALSE(WmShell::Get()->GetAppListTargetVisibility());
+ RunAllPendingInMessageLoop();
+ EXPECT_EQ(2u, test_app_list_presenter.toggle_count());
- // When spoken feedback is on, the AppList should not toggle.
- delegate->ToggleSpokenFeedback(A11Y_NOTIFICATION_NONE);
- EXPECT_FALSE(
- ProcessInController(ui::Accelerator(ui::VKEY_LWIN, ui::EF_NONE)));
- EXPECT_FALSE(
- ProcessInController(ReleaseAccelerator(ui::VKEY_LWIN, ui::EF_NONE)));
- delegate->ToggleSpokenFeedback(A11Y_NOTIFICATION_NONE);
- EXPECT_FALSE(WmShell::Get()->GetAppListTargetVisibility());
-
-#if defined(OS_CHROMEOS)
// The press of VKEY_BROWSER_SEARCH should toggle the AppList
EXPECT_TRUE(ProcessInController(
ui::Accelerator(ui::VKEY_BROWSER_SEARCH, ui::EF_NONE)));
- EXPECT_TRUE(WmShell::Get()->GetAppListTargetVisibility());
+ RunAllPendingInMessageLoop();
+ EXPECT_EQ(3u, test_app_list_presenter.toggle_count());
EXPECT_FALSE(ProcessInController(
ReleaseAccelerator(ui::VKEY_BROWSER_SEARCH, ui::EF_NONE)));
- EXPECT_TRUE(WmShell::Get()->GetAppListTargetVisibility());
-#endif
+ RunAllPendingInMessageLoop();
+ EXPECT_EQ(3u, test_app_list_presenter.toggle_count());
}
TEST_F(AcceleratorControllerTest, ImeGlobalAccelerators) {
@@ -1052,13 +1019,12 @@ TEST_F(AcceleratorControllerTest, ImeGlobalAcceleratorsWorkaround139556) {
}
TEST_F(AcceleratorControllerTest, PreferredReservedAccelerators) {
-#if defined(OS_CHROMEOS)
// Power key is reserved on chromeos.
EXPECT_TRUE(GetController()->IsReserved(
ui::Accelerator(ui::VKEY_POWER, ui::EF_NONE)));
EXPECT_FALSE(GetController()->IsPreferred(
ui::Accelerator(ui::VKEY_POWER, ui::EF_NONE)));
-#endif
+
// ALT+Tab are not reserved but preferred.
EXPECT_FALSE(GetController()->IsReserved(
ui::Accelerator(ui::VKEY_TAB, ui::EF_ALT_DOWN)));
@@ -1115,14 +1081,13 @@ TEST_F(PreferredReservedAcceleratorsTest, AcceleratorsWithFullscreen) {
ASSERT_TRUE(w1_state->IsFullscreen());
ui::test::EventGenerator& generator = GetEventGenerator();
-#if defined(OS_CHROMEOS)
+
// Power key (reserved) should always be handled.
test::LockStateControllerTestApi test_api(
Shell::GetInstance()->lock_state_controller());
EXPECT_FALSE(test_api.is_animating_lock());
generator.PressKey(ui::VKEY_POWER, ui::EF_NONE);
EXPECT_TRUE(test_api.is_animating_lock());
-#endif
auto press_and_release_alt_tab = [&generator]() {
generator.PressKey(ui::VKEY_TAB, ui::EF_ALT_DOWN);
@@ -1165,14 +1130,13 @@ TEST_F(PreferredReservedAcceleratorsTest, AcceleratorsWithPinned) {
}
ui::test::EventGenerator& generator = GetEventGenerator();
-#if defined(OS_CHROMEOS)
+
// Power key (reserved) should always be handled.
test::LockStateControllerTestApi test_api(
Shell::GetInstance()->lock_state_controller());
EXPECT_FALSE(test_api.is_animating_lock());
generator.PressKey(ui::VKEY_POWER, ui::EF_NONE);
EXPECT_TRUE(test_api.is_animating_lock());
-#endif
// A pinned window can consume ALT-TAB (preferred), but no side effect.
ASSERT_EQ(w1, wm::GetActiveWindow());
@@ -1182,7 +1146,6 @@ TEST_F(PreferredReservedAcceleratorsTest, AcceleratorsWithPinned) {
ASSERT_NE(w2, wm::GetActiveWindow());
}
-#if defined(OS_CHROMEOS)
TEST_F(AcceleratorControllerTest, DisallowedAtModalWindow) {
std::set<AcceleratorAction> all_actions;
for (size_t i = 0; i < kAcceleratorDataLength; ++i)
@@ -1282,7 +1245,6 @@ TEST_F(AcceleratorControllerTest, DisallowedAtModalWindow) {
EXPECT_EQ(1, user_action_tester.GetActionCount("Accel_VolumeUp_F10"));
}
}
-#endif
TEST_F(AcceleratorControllerTest, DisallowedWithNoWindow) {
AccessibilityDelegate* delegate = WmShell::Get()->accessibility_delegate();
@@ -1315,7 +1277,6 @@ TEST_F(AcceleratorControllerTest, DisallowedWithNoWindow) {
}
}
-#if defined(OS_CHROMEOS)
namespace {
// defines a class to test the behavior of deprecated accelerators.
@@ -1417,6 +1378,5 @@ TEST_F(DeprecatedAcceleratorTester, TestNewAccelerators) {
ResetStateIfNeeded();
}
}
-#endif // defined(OS_CHROMEOS)
} // namespace ash
« no previous file with comments | « ash/accelerators/DEPS ('k') | ash/accelerators/accelerator_interactive_uitest_chromeos.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698