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

Unified Diff: chrome/browser/global_keyboard_shortcuts_mac_browsertest.mm

Issue 2531033003: MacViews: Fix GlobalKeyboardShortcutsTest.SwitchTabsMac. (Closed)
Patch Set: Created 4 years, 1 month 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
Index: chrome/browser/global_keyboard_shortcuts_mac_browsertest.mm
diff --git a/chrome/browser/global_keyboard_shortcuts_mac_browsertest.mm b/chrome/browser/global_keyboard_shortcuts_mac_browsertest.mm
index 3e6b7f2dad86366f93d7a8c970122aef7a4d6bb9..b0f155cb1e388e9688da2f869cac5e04addb7b25 100644
--- a/chrome/browser/global_keyboard_shortcuts_mac_browsertest.mm
+++ b/chrome/browser/global_keyboard_shortcuts_mac_browsertest.mm
@@ -12,12 +12,25 @@
#include "chrome/browser/ui/browser_commands.h"
#include "chrome/browser/ui/browser_window.h"
#include "chrome/browser/ui/tabs/tab_strip_model.h"
+#include "ui/base/accelerators/accelerator.h"
#import "ui/events/test/cocoa_test_event_utils.h"
+#include "ui/events/test/event_generator.h"
+#include "ui/views/test/event_generator_delegate_mac.h"
tapted 2016/11/28 08:14:18 I've been trying to avoid introducing ui/views dep
themblsha 2016/11/30 12:35:33 I thought about doing a local function that does p
using cocoa_test_event_utils::SynthesizeKeyEvent;
using GlobalKeyboardShortcutsTest = ExtensionBrowserTest;
+namespace {
+
+void PressAccelerator(ui::test::EventGenerator* event_generator,
+ const ui::Accelerator& accelerator) {
+ event_generator->PressKey(accelerator.key_code(), accelerator.modifiers());
+ event_generator->ReleaseKey(accelerator.key_code(), accelerator.modifiers());
+}
+
+} // namespace
+
// Test that global keyboard shortcuts are handled by the native window.
IN_PROC_BROWSER_TEST_F(GlobalKeyboardShortcutsTest, SwitchTabsMac) {
NSWindow* ns_window = browser()->window()->GetNativeWindow();
@@ -28,18 +41,23 @@ IN_PROC_BROWSER_TEST_F(GlobalKeyboardShortcutsTest, SwitchTabsMac) {
EXPECT_EQ(2, tab_strip->count());
EXPECT_TRUE(tab_strip->IsTabSelected(1));
+ views::test::InitializeMacEventGeneratorDelegate();
+ ui::test::EventGenerator event_generator(ns_window);
+ event_generator.set_target(ui::test::EventGenerator::Target::WINDOW);
+
// Ctrl+Tab goes to the next tab, which loops back to the first tab.
- [ns_window performKeyEquivalent:SynthesizeKeyEvent(
- ns_window, true, ui::VKEY_TAB, NSControlKeyMask)];
+ PressAccelerator(&event_generator,
+ ui::Accelerator(ui::VKEY_TAB, ui::EF_CONTROL_DOWN));
EXPECT_TRUE(tab_strip->IsTabSelected(0));
// Cmd+2 goes to the second tab.
- [ns_window performKeyEquivalent:SynthesizeKeyEvent(
- ns_window, true, ui::VKEY_2, NSCommandKeyMask)];
+ PressAccelerator(&event_generator,
+ ui::Accelerator(ui::VKEY_2, ui::EF_COMMAND_DOWN));
EXPECT_TRUE(tab_strip->IsTabSelected(1));
// Cmd+{ goes to the previous tab.
- [ns_window performKeyEquivalent:SynthesizeKeyEvent(
- ns_window, true, ui::VKEY_OEM_4, NSShiftKeyMask | NSCommandKeyMask)];
+ PressAccelerator(
+ &event_generator,
+ ui::Accelerator(ui::VKEY_OEM_4, ui::EF_SHIFT_DOWN | ui::EF_COMMAND_DOWN));
EXPECT_TRUE(tab_strip->IsTabSelected(0));
}
« no previous file with comments | « no previous file | ui/views/test/event_generator_delegate_mac.mm » ('j') | ui/views/test/event_generator_delegate_mac.mm » ('J')

Powered by Google App Engine
This is Rietveld 408576698