OLD | NEW |
1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include <gdk/gdkkeysyms.h> | 5 #include <gdk/gdkkeysyms.h> |
6 | 6 |
7 #include "gfx/rect.h" | 7 #include "gfx/rect.h" |
8 #include "testing/gtest/include/gtest/gtest.h" | 8 #include "testing/gtest/include/gtest/gtest.h" |
9 #include "views/focus/accelerator_handler.h" | 9 #include "views/focus/accelerator_handler.h" |
10 #include "views/view.h" | 10 #include "views/view.h" |
(...skipping 81 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
92 | 92 |
93 // Test that the homepage accelerator (Alt+Home) is activated on key down | 93 // Test that the homepage accelerator (Alt+Home) is activated on key down |
94 // and that the menu accelerator (Alt) is never activated. | 94 // and that the menu accelerator (Alt) is never activated. |
95 TEST_F(AcceleratorHandlerGtkTest, TestHomepageAccelerator) { | 95 TEST_F(AcceleratorHandlerGtkTest, TestHomepageAccelerator) { |
96 AcceleratorHandler handler; | 96 AcceleratorHandler handler; |
97 GdkEventKey evt; | 97 GdkEventKey evt; |
98 | 98 |
99 ASSERT_FALSE(menu_pressed_); | 99 ASSERT_FALSE(menu_pressed_); |
100 ASSERT_FALSE(home_pressed_); | 100 ASSERT_FALSE(home_pressed_); |
101 | 101 |
102 evt = CreateKeyEvent(GDK_KEY_PRESS, GDK_Menu, 0); | 102 evt = CreateKeyEvent(GDK_KEY_PRESS, GDK_Alt_L, 0); |
103 EXPECT_TRUE(handler.Dispatch(reinterpret_cast<GdkEvent*>(&evt))); | 103 EXPECT_TRUE(handler.Dispatch(reinterpret_cast<GdkEvent*>(&evt))); |
104 | 104 |
105 ASSERT_FALSE(menu_pressed_); | 105 ASSERT_FALSE(menu_pressed_); |
106 ASSERT_FALSE(home_pressed_); | 106 ASSERT_FALSE(home_pressed_); |
107 | 107 |
108 evt = CreateKeyEvent(GDK_KEY_PRESS, GDK_Home, GDK_MOD1_MASK); | 108 evt = CreateKeyEvent(GDK_KEY_PRESS, GDK_Home, GDK_MOD1_MASK); |
109 EXPECT_TRUE(handler.Dispatch(reinterpret_cast<GdkEvent*>(&evt))); | 109 EXPECT_TRUE(handler.Dispatch(reinterpret_cast<GdkEvent*>(&evt))); |
110 | 110 |
111 ASSERT_FALSE(menu_pressed_); | 111 ASSERT_FALSE(menu_pressed_); |
112 ASSERT_TRUE(home_pressed_); | 112 ASSERT_TRUE(home_pressed_); |
113 | 113 |
114 evt = CreateKeyEvent(GDK_KEY_RELEASE, GDK_Home, GDK_MOD1_MASK); | 114 evt = CreateKeyEvent(GDK_KEY_RELEASE, GDK_Home, GDK_MOD1_MASK); |
115 EXPECT_TRUE(handler.Dispatch(reinterpret_cast<GdkEvent*>(&evt))); | 115 EXPECT_TRUE(handler.Dispatch(reinterpret_cast<GdkEvent*>(&evt))); |
116 evt = CreateKeyEvent(GDK_KEY_RELEASE, GDK_Menu, 0); | 116 evt = CreateKeyEvent(GDK_KEY_RELEASE, GDK_Alt_L, 0); |
117 EXPECT_TRUE(handler.Dispatch(reinterpret_cast<GdkEvent*>(&evt))); | 117 EXPECT_TRUE(handler.Dispatch(reinterpret_cast<GdkEvent*>(&evt))); |
118 | 118 |
119 ASSERT_FALSE(menu_pressed_); | 119 ASSERT_FALSE(menu_pressed_); |
120 ASSERT_TRUE(home_pressed_); | 120 ASSERT_TRUE(home_pressed_); |
121 } | 121 } |
122 | 122 |
123 // Test that the menu accelerator is activated on key up and not key down. | 123 // Test that the menu accelerator is activated on key up and not key down. |
124 TEST_F(AcceleratorHandlerGtkTest, TestMenuAccelerator) { | 124 TEST_F(AcceleratorHandlerGtkTest, TestMenuAccelerator) { |
125 AcceleratorHandler handler; | 125 AcceleratorHandler handler; |
126 GdkEventKey evt; | 126 GdkEventKey evt; |
127 | 127 |
128 ASSERT_FALSE(menu_pressed_); | 128 ASSERT_FALSE(menu_pressed_); |
129 | 129 |
130 evt = CreateKeyEvent(GDK_KEY_PRESS, GDK_Menu, 0); | 130 evt = CreateKeyEvent(GDK_KEY_PRESS, GDK_Alt_L, 0); |
131 EXPECT_TRUE(handler.Dispatch(reinterpret_cast<GdkEvent*>(&evt))); | 131 EXPECT_TRUE(handler.Dispatch(reinterpret_cast<GdkEvent*>(&evt))); |
132 | 132 |
133 ASSERT_FALSE(menu_pressed_); | 133 ASSERT_FALSE(menu_pressed_); |
134 | 134 |
135 evt = CreateKeyEvent(GDK_KEY_RELEASE, GDK_Menu, 0); | 135 evt = CreateKeyEvent(GDK_KEY_RELEASE, GDK_Alt_L, 0); |
136 EXPECT_TRUE(handler.Dispatch(reinterpret_cast<GdkEvent*>(&evt))); | 136 EXPECT_TRUE(handler.Dispatch(reinterpret_cast<GdkEvent*>(&evt))); |
137 | 137 |
138 ASSERT_TRUE(menu_pressed_); | 138 ASSERT_TRUE(menu_pressed_); |
139 } | 139 } |
140 | 140 |
141 // Test that the menu accelerator isn't confused by the interaction of the | 141 // Test that the menu accelerator isn't confused by the interaction of the |
142 // Alt and Shift keys. Try the following sequence on Linux: | 142 // Alt and Shift keys. Try the following sequence on Linux: |
143 // Press Alt | 143 // Press Alt |
144 // Press Shift | 144 // Press Shift |
145 // Release Alt | 145 // Release Alt |
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
184 | 184 |
185 // Release Alt - now this should trigger the menu shortcut. | 185 // Release Alt - now this should trigger the menu shortcut. |
186 evt = CreateKeyEvent(GDK_KEY_RELEASE, GDK_Alt_L, 0); | 186 evt = CreateKeyEvent(GDK_KEY_RELEASE, GDK_Alt_L, 0); |
187 evt.hardware_keycode = 0x40; | 187 evt.hardware_keycode = 0x40; |
188 EXPECT_TRUE(handler.Dispatch(reinterpret_cast<GdkEvent*>(&evt))); | 188 EXPECT_TRUE(handler.Dispatch(reinterpret_cast<GdkEvent*>(&evt))); |
189 | 189 |
190 ASSERT_TRUE(menu_pressed_); | 190 ASSERT_TRUE(menu_pressed_); |
191 } | 191 } |
192 | 192 |
193 } // namespace views | 193 } // namespace views |
OLD | NEW |