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

Unified Diff: ui/views/window/dialog_delegate_unittest.cc

Issue 2607923002: MacViews: Handle Space and Return keys correctly for Buttons. (Closed)
Patch Set: Address review. Created 3 years, 12 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
Index: ui/views/window/dialog_delegate_unittest.cc
diff --git a/ui/views/window/dialog_delegate_unittest.cc b/ui/views/window/dialog_delegate_unittest.cc
index 771d201ff9ad3dd4c3939bcebd41c24ec70eff70..10e45c0403f3b05bf98f8ee3f8240433c7e154e3 100644
--- a/ui/views/window/dialog_delegate_unittest.cc
+++ b/ui/views/window/dialog_delegate_unittest.cc
@@ -156,17 +156,31 @@ TEST_F(DialogTest, AcceptAndCancel) {
SimulateKeyEvent(escape_event);
dialog()->CheckAndResetStates(false, false, true);
- // Check ok and cancel button behavior on a directed return key events.
- ok_button->OnKeyPressed(return_event);
+// Check ok and cancel button behavior on a directed return key event. Buttons
+// won't respond to a return key event on Mac, since it performs the default
+// action.
+#if defined(OS_MACOSX)
+ EXPECT_FALSE(ok_button->OnKeyPressed(return_event));
+ dialog()->CheckAndResetStates(false, false, false);
+ EXPECT_FALSE(cancel_button->OnKeyPressed(return_event));
+ dialog()->CheckAndResetStates(false, false, false);
+#else
+ EXPECT_TRUE(ok_button->OnKeyPressed(return_event));
dialog()->CheckAndResetStates(false, true, false);
- cancel_button->OnKeyPressed(return_event);
+ EXPECT_TRUE(cancel_button->OnKeyPressed(return_event));
dialog()->CheckAndResetStates(true, false, false);
+#endif
- // Check that return accelerators cancel dialogs if cancel is focused.
+ // Check that return accelerators cancel dialogs if cancel is focused, except
+ // on Mac where return should perform the default action.
cancel_button->RequestFocus();
EXPECT_EQ(cancel_button, dialog()->GetFocusManager()->GetFocusedView());
SimulateKeyEvent(return_event);
+#if defined(OS_MACOSX)
+ dialog()->CheckAndResetStates(false, true, false);
+#else
dialog()->CheckAndResetStates(true, false, false);
+#endif
// Check that escape can be overridden.
dialog()->set_should_handle_escape(true);
« ui/views/style/platform_style_mac.mm ('K') | « ui/views/style/platform_style_mac.mm ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698