Index: chrome/browser/chromeos/events/event_rewriter_unittest.cc |
diff --git a/chrome/browser/chromeos/events/event_rewriter_unittest.cc b/chrome/browser/chromeos/events/event_rewriter_unittest.cc |
index 95f66893fcc6e2efc03b05637e3833364515af51..6b350ee4d5f338228cb409670df49404e0a82b3f 100644 |
--- a/chrome/browser/chromeos/events/event_rewriter_unittest.cc |
+++ b/chrome/browser/chromeos/events/event_rewriter_unittest.cc |
@@ -135,6 +135,56 @@ void CheckKeyTestCase(size_t i, |
#endif |
} |
+// Table entry for simple single function key event rewriting tests. |
+struct FunctionKeyTestCase { |
+ ui::EventType type; |
+ struct { |
+ ui::KeyboardCode key_code; |
+ int flags; |
+ } input, vkey_expected, native_expected; |
+}; |
+ |
+// Tests a single stateless function key rewrite operation. |
+// |i| is a an identifying number to locate failing tests in the tables. |
+// Function key mapping differs from the other key mappings because the |
+// EF_FUNCTION_KEY flag is set during ui::KeyEvent construction when passing in |
+// a native X11 event and the flag is not set when using other constructors. |
+void CheckFunctionKeyTestCase(size_t i, |
+ chromeos::EventRewriter* rewriter, |
+ const FunctionKeyTestCase& test) { |
+ std::string id = base::StringPrintf("(%zu) ", i); |
+ std::string vkey_expected = |
+ id + GetExpectedResultAsString( |
+ test.vkey_expected.key_code, |
+ test.vkey_expected.flags, |
+ test.type); |
+ // Check rewriting of a non-native-based key event. |
+ EXPECT_EQ( |
+ vkey_expected, |
+ id + GetRewrittenEventAsString( |
+ rewriter, test.input.key_code, test.input.flags, test.type)); |
+ |
+#if defined(USE_X11) |
+ ui::ScopedXI2Event xev; |
+ xev.InitKeyEvent(test.type, test.input.key_code, test.input.flags); |
+ XEvent* xevent = xev; |
+ if (xevent->xkey.keycode) { |
+ ui::KeyEvent xkey_event(xevent, false); |
+ // Rewrite the event and check the result. |
+ scoped_ptr<ui::Event> new_event; |
+ rewriter->RewriteEvent(xkey_event, &new_event); |
+ ui::KeyEvent& rewritten_key_event = |
+ new_event ? *static_cast<ui::KeyEvent*>(new_event.get()) : xkey_event; |
+ std::string native_expected = |
+ id + GetExpectedResultAsString( |
+ test.native_expected.key_code, |
+ test.native_expected.flags, |
+ test.type); |
+ EXPECT_EQ(native_expected, id + GetKeyEventAsString(rewritten_key_event)); |
+ } |
+#endif |
+} |
+ |
} // namespace |
namespace chromeos { |
@@ -1154,246 +1204,318 @@ TEST_F(EventRewriterTest, TestRewriteFunctionKeys) { |
EventRewriter rewriter; |
rewriter.set_pref_service_for_testing(&prefs); |
- KeyTestCase tests[] = { |
+ FunctionKeyTestCase tests[] = { |
// F1 -> Back |
- {KeyTestCase::TEST_ALL, ui::ET_KEY_PRESSED, |
+ {ui::ET_KEY_PRESSED, |
{ui::VKEY_F1, ui::EF_NONE}, |
- {ui::VKEY_BROWSER_BACK, ui::EF_NONE}}, |
- {KeyTestCase::TEST_ALL, ui::ET_KEY_PRESSED, |
+ {ui::VKEY_BROWSER_BACK, ui::EF_NONE}, |
+ {ui::VKEY_BROWSER_BACK, ui::EF_FUNCTION_KEY}}, |
+ {ui::ET_KEY_PRESSED, |
{ui::VKEY_F1, ui::EF_CONTROL_DOWN}, |
- {ui::VKEY_BROWSER_BACK, ui::EF_CONTROL_DOWN}}, |
- {KeyTestCase::TEST_ALL, ui::ET_KEY_PRESSED, |
+ {ui::VKEY_BROWSER_BACK, ui::EF_CONTROL_DOWN}, |
+ {ui::VKEY_BROWSER_BACK, ui::EF_CONTROL_DOWN | ui::EF_FUNCTION_KEY}}, |
+ {ui::ET_KEY_PRESSED, |
{ui::VKEY_F1, ui::EF_ALT_DOWN}, |
- {ui::VKEY_BROWSER_BACK, ui::EF_ALT_DOWN}}, |
+ {ui::VKEY_BROWSER_BACK, ui::EF_ALT_DOWN}, |
+ {ui::VKEY_BROWSER_BACK, ui::EF_ALT_DOWN | ui::EF_FUNCTION_KEY}}, |
// F2 -> Forward |
- {KeyTestCase::TEST_ALL, ui::ET_KEY_PRESSED, |
+ {ui::ET_KEY_PRESSED, |
{ui::VKEY_F2, ui::EF_NONE}, |
- {ui::VKEY_BROWSER_FORWARD, ui::EF_NONE}}, |
- {KeyTestCase::TEST_ALL, ui::ET_KEY_PRESSED, |
+ {ui::VKEY_BROWSER_FORWARD, ui::EF_NONE}, |
+ {ui::VKEY_BROWSER_FORWARD, ui::EF_FUNCTION_KEY}}, |
+ {ui::ET_KEY_PRESSED, |
{ui::VKEY_F2, ui::EF_CONTROL_DOWN}, |
- {ui::VKEY_BROWSER_FORWARD, ui::EF_CONTROL_DOWN}}, |
- {KeyTestCase::TEST_ALL, ui::ET_KEY_PRESSED, |
+ {ui::VKEY_BROWSER_FORWARD, ui::EF_CONTROL_DOWN}, |
+ {ui::VKEY_BROWSER_FORWARD, ui::EF_CONTROL_DOWN | ui::EF_FUNCTION_KEY}}, |
+ {ui::ET_KEY_PRESSED, |
{ui::VKEY_F2, ui::EF_ALT_DOWN}, |
- {ui::VKEY_BROWSER_FORWARD, ui::EF_ALT_DOWN}}, |
+ {ui::VKEY_BROWSER_FORWARD, ui::EF_ALT_DOWN}, |
+ {ui::VKEY_BROWSER_FORWARD, ui::EF_ALT_DOWN | ui::EF_FUNCTION_KEY}}, |
// F3 -> Refresh |
- {KeyTestCase::TEST_ALL, ui::ET_KEY_PRESSED, |
+ {ui::ET_KEY_PRESSED, |
{ui::VKEY_F3, ui::EF_NONE}, |
- {ui::VKEY_BROWSER_REFRESH, ui::EF_NONE}}, |
- {KeyTestCase::TEST_ALL, ui::ET_KEY_PRESSED, |
+ {ui::VKEY_BROWSER_REFRESH, ui::EF_NONE}, |
+ {ui::VKEY_BROWSER_REFRESH, ui::EF_FUNCTION_KEY}}, |
+ {ui::ET_KEY_PRESSED, |
{ui::VKEY_F3, ui::EF_CONTROL_DOWN}, |
- {ui::VKEY_BROWSER_REFRESH, ui::EF_CONTROL_DOWN}}, |
- {KeyTestCase::TEST_ALL, ui::ET_KEY_PRESSED, |
+ {ui::VKEY_BROWSER_REFRESH, ui::EF_CONTROL_DOWN}, |
+ {ui::VKEY_BROWSER_REFRESH, ui::EF_CONTROL_DOWN | ui::EF_FUNCTION_KEY}}, |
+ {ui::ET_KEY_PRESSED, |
{ui::VKEY_F3, ui::EF_ALT_DOWN}, |
- {ui::VKEY_BROWSER_REFRESH, ui::EF_ALT_DOWN}}, |
+ {ui::VKEY_BROWSER_REFRESH, ui::EF_ALT_DOWN}, |
+ {ui::VKEY_BROWSER_REFRESH, ui::EF_ALT_DOWN | ui::EF_FUNCTION_KEY}}, |
// F4 -> Launch App 2 |
- {KeyTestCase::TEST_ALL, ui::ET_KEY_PRESSED, |
+ {ui::ET_KEY_PRESSED, |
{ui::VKEY_F4, ui::EF_NONE}, |
- {ui::VKEY_MEDIA_LAUNCH_APP2, ui::EF_NONE}}, |
- {KeyTestCase::TEST_ALL, ui::ET_KEY_PRESSED, |
+ {ui::VKEY_MEDIA_LAUNCH_APP2, ui::EF_NONE}, |
+ {ui::VKEY_MEDIA_LAUNCH_APP2, ui::EF_FUNCTION_KEY}}, |
+ {ui::ET_KEY_PRESSED, |
{ui::VKEY_F4, ui::EF_CONTROL_DOWN}, |
- {ui::VKEY_MEDIA_LAUNCH_APP2, ui::EF_CONTROL_DOWN}}, |
- {KeyTestCase::TEST_ALL, ui::ET_KEY_PRESSED, |
+ {ui::VKEY_MEDIA_LAUNCH_APP2, ui::EF_CONTROL_DOWN}, |
+ {ui::VKEY_MEDIA_LAUNCH_APP2, ui::EF_CONTROL_DOWN | ui::EF_FUNCTION_KEY}}, |
+ {ui::ET_KEY_PRESSED, |
{ui::VKEY_F4, ui::EF_ALT_DOWN}, |
- {ui::VKEY_MEDIA_LAUNCH_APP2, ui::EF_ALT_DOWN}}, |
+ {ui::VKEY_MEDIA_LAUNCH_APP2, ui::EF_ALT_DOWN}, |
+ {ui::VKEY_MEDIA_LAUNCH_APP2, ui::EF_ALT_DOWN | ui::EF_FUNCTION_KEY}}, |
// F5 -> Launch App 1 |
- {KeyTestCase::TEST_ALL, ui::ET_KEY_PRESSED, |
+ {ui::ET_KEY_PRESSED, |
{ui::VKEY_F5, ui::EF_NONE}, |
- {ui::VKEY_MEDIA_LAUNCH_APP1, ui::EF_NONE}}, |
- {KeyTestCase::TEST_ALL, ui::ET_KEY_PRESSED, |
+ {ui::VKEY_MEDIA_LAUNCH_APP1, ui::EF_NONE}, |
+ {ui::VKEY_MEDIA_LAUNCH_APP1, ui::EF_FUNCTION_KEY}}, |
+ {ui::ET_KEY_PRESSED, |
{ui::VKEY_F5, ui::EF_CONTROL_DOWN}, |
- {ui::VKEY_MEDIA_LAUNCH_APP1, ui::EF_CONTROL_DOWN}}, |
- {KeyTestCase::TEST_ALL, ui::ET_KEY_PRESSED, |
+ {ui::VKEY_MEDIA_LAUNCH_APP1, ui::EF_CONTROL_DOWN}, |
+ {ui::VKEY_MEDIA_LAUNCH_APP1, ui::EF_CONTROL_DOWN | ui::EF_FUNCTION_KEY}}, |
+ {ui::ET_KEY_PRESSED, |
{ui::VKEY_F5, ui::EF_ALT_DOWN}, |
- {ui::VKEY_MEDIA_LAUNCH_APP1, ui::EF_ALT_DOWN}}, |
+ {ui::VKEY_MEDIA_LAUNCH_APP1, ui::EF_ALT_DOWN}, |
+ {ui::VKEY_MEDIA_LAUNCH_APP1, ui::EF_ALT_DOWN | ui::EF_FUNCTION_KEY}}, |
// F6 -> Brightness down |
- {KeyTestCase::TEST_ALL, ui::ET_KEY_PRESSED, |
+ {ui::ET_KEY_PRESSED, |
{ui::VKEY_F6, ui::EF_NONE}, |
- {ui::VKEY_BRIGHTNESS_DOWN, ui::EF_NONE}}, |
- {KeyTestCase::TEST_ALL, ui::ET_KEY_PRESSED, |
+ {ui::VKEY_BRIGHTNESS_DOWN, ui::EF_NONE}, |
+ {ui::VKEY_BRIGHTNESS_DOWN, ui::EF_FUNCTION_KEY}}, |
+ {ui::ET_KEY_PRESSED, |
{ui::VKEY_F6, ui::EF_CONTROL_DOWN}, |
- {ui::VKEY_BRIGHTNESS_DOWN, ui::EF_CONTROL_DOWN}}, |
- {KeyTestCase::TEST_ALL, ui::ET_KEY_PRESSED, |
+ {ui::VKEY_BRIGHTNESS_DOWN, ui::EF_CONTROL_DOWN}, |
+ {ui::VKEY_BRIGHTNESS_DOWN, ui::EF_CONTROL_DOWN | ui::EF_FUNCTION_KEY}}, |
+ {ui::ET_KEY_PRESSED, |
{ui::VKEY_F6, ui::EF_ALT_DOWN}, |
- {ui::VKEY_BRIGHTNESS_DOWN, ui::EF_ALT_DOWN}}, |
+ {ui::VKEY_BRIGHTNESS_DOWN, ui::EF_ALT_DOWN}, |
+ {ui::VKEY_BRIGHTNESS_DOWN, ui::EF_ALT_DOWN | ui::EF_FUNCTION_KEY}}, |
// F7 -> Brightness up |
- {KeyTestCase::TEST_ALL, ui::ET_KEY_PRESSED, |
+ {ui::ET_KEY_PRESSED, |
{ui::VKEY_F7, ui::EF_NONE}, |
- {ui::VKEY_BRIGHTNESS_UP, ui::EF_NONE}}, |
- {KeyTestCase::TEST_ALL, ui::ET_KEY_PRESSED, |
+ {ui::VKEY_BRIGHTNESS_UP, ui::EF_NONE}, |
+ {ui::VKEY_BRIGHTNESS_UP, ui::EF_FUNCTION_KEY}}, |
+ {ui::ET_KEY_PRESSED, |
{ui::VKEY_F7, ui::EF_CONTROL_DOWN}, |
- {ui::VKEY_BRIGHTNESS_UP, ui::EF_CONTROL_DOWN}}, |
- {KeyTestCase::TEST_ALL, ui::ET_KEY_PRESSED, |
+ {ui::VKEY_BRIGHTNESS_UP, ui::EF_CONTROL_DOWN}, |
+ {ui::VKEY_BRIGHTNESS_UP, ui::EF_CONTROL_DOWN | ui::EF_FUNCTION_KEY}}, |
+ {ui::ET_KEY_PRESSED, |
{ui::VKEY_F7, ui::EF_ALT_DOWN}, |
- {ui::VKEY_BRIGHTNESS_UP, ui::EF_ALT_DOWN}}, |
+ {ui::VKEY_BRIGHTNESS_UP, ui::EF_ALT_DOWN}, |
+ {ui::VKEY_BRIGHTNESS_UP, ui::EF_ALT_DOWN | ui::EF_FUNCTION_KEY}}, |
// F8 -> Volume Mute |
- {KeyTestCase::TEST_ALL, ui::ET_KEY_PRESSED, |
+ {ui::ET_KEY_PRESSED, |
{ui::VKEY_F8, ui::EF_NONE}, |
- {ui::VKEY_VOLUME_MUTE, ui::EF_NONE}}, |
- {KeyTestCase::TEST_ALL, ui::ET_KEY_PRESSED, |
+ {ui::VKEY_VOLUME_MUTE, ui::EF_NONE}, |
+ {ui::VKEY_VOLUME_MUTE, ui::EF_FUNCTION_KEY}}, |
+ {ui::ET_KEY_PRESSED, |
{ui::VKEY_F8, ui::EF_CONTROL_DOWN}, |
- {ui::VKEY_VOLUME_MUTE, ui::EF_CONTROL_DOWN}}, |
- {KeyTestCase::TEST_ALL, ui::ET_KEY_PRESSED, |
+ {ui::VKEY_VOLUME_MUTE, ui::EF_CONTROL_DOWN}, |
+ {ui::VKEY_VOLUME_MUTE, ui::EF_CONTROL_DOWN | ui::EF_FUNCTION_KEY}}, |
+ {ui::ET_KEY_PRESSED, |
{ui::VKEY_F8, ui::EF_ALT_DOWN}, |
- {ui::VKEY_VOLUME_MUTE, ui::EF_ALT_DOWN}}, |
+ {ui::VKEY_VOLUME_MUTE, ui::EF_ALT_DOWN}, |
+ {ui::VKEY_VOLUME_MUTE, ui::EF_ALT_DOWN | ui::EF_FUNCTION_KEY}}, |
// F9 -> Volume Down |
- {KeyTestCase::TEST_ALL, ui::ET_KEY_PRESSED, |
+ {ui::ET_KEY_PRESSED, |
{ui::VKEY_F9, ui::EF_NONE}, |
- {ui::VKEY_VOLUME_DOWN, ui::EF_NONE}}, |
- {KeyTestCase::TEST_ALL, ui::ET_KEY_PRESSED, |
+ {ui::VKEY_VOLUME_DOWN, ui::EF_NONE}, |
+ {ui::VKEY_VOLUME_DOWN, ui::EF_FUNCTION_KEY}}, |
+ {ui::ET_KEY_PRESSED, |
{ui::VKEY_F9, ui::EF_CONTROL_DOWN}, |
- {ui::VKEY_VOLUME_DOWN, ui::EF_CONTROL_DOWN}}, |
- {KeyTestCase::TEST_ALL, ui::ET_KEY_PRESSED, |
+ {ui::VKEY_VOLUME_DOWN, ui::EF_CONTROL_DOWN}, |
+ {ui::VKEY_VOLUME_DOWN, ui::EF_CONTROL_DOWN | ui::EF_FUNCTION_KEY}}, |
+ {ui::ET_KEY_PRESSED, |
{ui::VKEY_F9, ui::EF_ALT_DOWN}, |
- {ui::VKEY_VOLUME_DOWN, ui::EF_ALT_DOWN}}, |
+ {ui::VKEY_VOLUME_DOWN, ui::EF_ALT_DOWN}, |
+ {ui::VKEY_VOLUME_DOWN, ui::EF_ALT_DOWN | ui::EF_FUNCTION_KEY}}, |
// F10 -> Volume Up |
- {KeyTestCase::TEST_ALL, ui::ET_KEY_PRESSED, |
+ {ui::ET_KEY_PRESSED, |
{ui::VKEY_F10, ui::EF_NONE}, |
- {ui::VKEY_VOLUME_UP, ui::EF_NONE}}, |
- {KeyTestCase::TEST_ALL, ui::ET_KEY_PRESSED, |
+ {ui::VKEY_VOLUME_UP, ui::EF_NONE}, |
+ {ui::VKEY_VOLUME_UP, ui::EF_FUNCTION_KEY}}, |
+ {ui::ET_KEY_PRESSED, |
{ui::VKEY_F10, ui::EF_CONTROL_DOWN}, |
- {ui::VKEY_VOLUME_UP, ui::EF_CONTROL_DOWN}}, |
- {KeyTestCase::TEST_ALL, ui::ET_KEY_PRESSED, |
+ {ui::VKEY_VOLUME_UP, ui::EF_CONTROL_DOWN}, |
+ {ui::VKEY_VOLUME_UP, ui::EF_CONTROL_DOWN | ui::EF_FUNCTION_KEY}}, |
+ {ui::ET_KEY_PRESSED, |
{ui::VKEY_F10, ui::EF_ALT_DOWN}, |
- {ui::VKEY_VOLUME_UP, ui::EF_ALT_DOWN}}, |
+ {ui::VKEY_VOLUME_UP, ui::EF_ALT_DOWN}, |
+ {ui::VKEY_VOLUME_UP, ui::EF_ALT_DOWN | ui::EF_FUNCTION_KEY}}, |
// F11 -> F11 |
- {KeyTestCase::TEST_ALL, ui::ET_KEY_PRESSED, |
+ {ui::ET_KEY_PRESSED, |
{ui::VKEY_F11, ui::EF_NONE}, |
- {ui::VKEY_F11, ui::EF_NONE}}, |
- {KeyTestCase::TEST_ALL, ui::ET_KEY_PRESSED, |
+ {ui::VKEY_F11, ui::EF_NONE}, |
+ {ui::VKEY_F11, ui::EF_FUNCTION_KEY}}, |
+ {ui::ET_KEY_PRESSED, |
{ui::VKEY_F11, ui::EF_CONTROL_DOWN}, |
- {ui::VKEY_F11, ui::EF_CONTROL_DOWN}}, |
- {KeyTestCase::TEST_ALL, ui::ET_KEY_PRESSED, |
+ {ui::VKEY_F11, ui::EF_CONTROL_DOWN}, |
+ {ui::VKEY_F11, ui::EF_CONTROL_DOWN | ui::EF_FUNCTION_KEY}}, |
+ {ui::ET_KEY_PRESSED, |
+ {ui::VKEY_F11, ui::EF_ALT_DOWN}, |
{ui::VKEY_F11, ui::EF_ALT_DOWN}, |
- {ui::VKEY_F11, ui::EF_ALT_DOWN}}, |
+ {ui::VKEY_F11, ui::EF_ALT_DOWN | ui::EF_FUNCTION_KEY}}, |
// F12 -> F12 |
- {KeyTestCase::TEST_ALL, ui::ET_KEY_PRESSED, |
+ {ui::ET_KEY_PRESSED, |
{ui::VKEY_F12, ui::EF_NONE}, |
- {ui::VKEY_F12, ui::EF_NONE}}, |
- {KeyTestCase::TEST_ALL, ui::ET_KEY_PRESSED, |
+ {ui::VKEY_F12, ui::EF_NONE}, |
+ {ui::VKEY_F12, ui::EF_FUNCTION_KEY}}, |
+ {ui::ET_KEY_PRESSED, |
{ui::VKEY_F12, ui::EF_CONTROL_DOWN}, |
- {ui::VKEY_F12, ui::EF_CONTROL_DOWN}}, |
- {KeyTestCase::TEST_ALL, ui::ET_KEY_PRESSED, |
+ {ui::VKEY_F12, ui::EF_CONTROL_DOWN}, |
+ {ui::VKEY_F12, ui::EF_CONTROL_DOWN | ui::EF_FUNCTION_KEY}}, |
+ {ui::ET_KEY_PRESSED, |
+ {ui::VKEY_F12, ui::EF_ALT_DOWN}, |
{ui::VKEY_F12, ui::EF_ALT_DOWN}, |
- {ui::VKEY_F12, ui::EF_ALT_DOWN}}, |
+ {ui::VKEY_F12, ui::EF_ALT_DOWN | ui::EF_FUNCTION_KEY}}, |
// The number row should not be rewritten without Search key. |
- {KeyTestCase::TEST_ALL, ui::ET_KEY_PRESSED, |
+ {ui::ET_KEY_PRESSED, |
+ {ui::VKEY_1, ui::EF_NONE}, |
{ui::VKEY_1, ui::EF_NONE}, |
{ui::VKEY_1, ui::EF_NONE}}, |
- {KeyTestCase::TEST_ALL, ui::ET_KEY_PRESSED, |
+ {ui::ET_KEY_PRESSED, |
+ {ui::VKEY_2, ui::EF_NONE}, |
{ui::VKEY_2, ui::EF_NONE}, |
{ui::VKEY_2, ui::EF_NONE}}, |
- {KeyTestCase::TEST_ALL, ui::ET_KEY_PRESSED, |
+ {ui::ET_KEY_PRESSED, |
+ {ui::VKEY_3, ui::EF_NONE}, |
{ui::VKEY_3, ui::EF_NONE}, |
{ui::VKEY_3, ui::EF_NONE}}, |
- {KeyTestCase::TEST_ALL, ui::ET_KEY_PRESSED, |
+ {ui::ET_KEY_PRESSED, |
+ {ui::VKEY_4, ui::EF_NONE}, |
{ui::VKEY_4, ui::EF_NONE}, |
{ui::VKEY_4, ui::EF_NONE}}, |
- {KeyTestCase::TEST_ALL, ui::ET_KEY_PRESSED, |
+ {ui::ET_KEY_PRESSED, |
+ {ui::VKEY_5, ui::EF_NONE}, |
{ui::VKEY_5, ui::EF_NONE}, |
{ui::VKEY_5, ui::EF_NONE}}, |
- {KeyTestCase::TEST_ALL, ui::ET_KEY_PRESSED, |
+ {ui::ET_KEY_PRESSED, |
+ {ui::VKEY_6, ui::EF_NONE}, |
{ui::VKEY_6, ui::EF_NONE}, |
{ui::VKEY_6, ui::EF_NONE}}, |
- {KeyTestCase::TEST_ALL, ui::ET_KEY_PRESSED, |
+ {ui::ET_KEY_PRESSED, |
+ {ui::VKEY_7, ui::EF_NONE}, |
{ui::VKEY_7, ui::EF_NONE}, |
{ui::VKEY_7, ui::EF_NONE}}, |
- {KeyTestCase::TEST_ALL, ui::ET_KEY_PRESSED, |
+ {ui::ET_KEY_PRESSED, |
+ {ui::VKEY_8, ui::EF_NONE}, |
{ui::VKEY_8, ui::EF_NONE}, |
{ui::VKEY_8, ui::EF_NONE}}, |
- {KeyTestCase::TEST_ALL, ui::ET_KEY_PRESSED, |
+ {ui::ET_KEY_PRESSED, |
+ {ui::VKEY_9, ui::EF_NONE}, |
{ui::VKEY_9, ui::EF_NONE}, |
{ui::VKEY_9, ui::EF_NONE}}, |
- {KeyTestCase::TEST_ALL, ui::ET_KEY_PRESSED, |
+ {ui::ET_KEY_PRESSED, |
+ {ui::VKEY_0, ui::EF_NONE}, |
{ui::VKEY_0, ui::EF_NONE}, |
{ui::VKEY_0, ui::EF_NONE}}, |
- {KeyTestCase::TEST_ALL, ui::ET_KEY_PRESSED, |
+ {ui::ET_KEY_PRESSED, |
+ {ui::VKEY_OEM_MINUS, ui::EF_NONE}, |
{ui::VKEY_OEM_MINUS, ui::EF_NONE}, |
{ui::VKEY_OEM_MINUS, ui::EF_NONE}}, |
- {KeyTestCase::TEST_ALL, ui::ET_KEY_PRESSED, |
+ {ui::ET_KEY_PRESSED, |
+ {ui::VKEY_OEM_PLUS, ui::EF_NONE}, |
{ui::VKEY_OEM_PLUS, ui::EF_NONE}, |
{ui::VKEY_OEM_PLUS, ui::EF_NONE}}, |
// The number row should be rewritten as the F<number> row with Search |
// key. |
- {KeyTestCase::TEST_ALL, ui::ET_KEY_PRESSED, |
+ {ui::ET_KEY_PRESSED, |
{ui::VKEY_1, ui::EF_COMMAND_DOWN}, |
+ {ui::VKEY_F1, ui::EF_NONE}, |
{ui::VKEY_F1, ui::EF_NONE}}, |
- {KeyTestCase::TEST_ALL, ui::ET_KEY_PRESSED, |
+ {ui::ET_KEY_PRESSED, |
{ui::VKEY_2, ui::EF_COMMAND_DOWN}, |
+ {ui::VKEY_F2, ui::EF_NONE}, |
{ui::VKEY_F2, ui::EF_NONE}}, |
- {KeyTestCase::TEST_ALL, ui::ET_KEY_PRESSED, |
+ {ui::ET_KEY_PRESSED, |
{ui::VKEY_3, ui::EF_COMMAND_DOWN}, |
+ {ui::VKEY_F3, ui::EF_NONE}, |
{ui::VKEY_F3, ui::EF_NONE}}, |
- {KeyTestCase::TEST_ALL, ui::ET_KEY_PRESSED, |
+ {ui::ET_KEY_PRESSED, |
{ui::VKEY_4, ui::EF_COMMAND_DOWN}, |
+ {ui::VKEY_F4, ui::EF_NONE}, |
{ui::VKEY_F4, ui::EF_NONE}}, |
- {KeyTestCase::TEST_ALL, ui::ET_KEY_PRESSED, |
+ {ui::ET_KEY_PRESSED, |
{ui::VKEY_5, ui::EF_COMMAND_DOWN}, |
+ {ui::VKEY_F5, ui::EF_NONE}, |
{ui::VKEY_F5, ui::EF_NONE}}, |
- {KeyTestCase::TEST_ALL, ui::ET_KEY_PRESSED, |
+ {ui::ET_KEY_PRESSED, |
{ui::VKEY_6, ui::EF_COMMAND_DOWN}, |
+ {ui::VKEY_F6, ui::EF_NONE}, |
{ui::VKEY_F6, ui::EF_NONE}}, |
- {KeyTestCase::TEST_ALL, ui::ET_KEY_PRESSED, |
+ {ui::ET_KEY_PRESSED, |
{ui::VKEY_7, ui::EF_COMMAND_DOWN}, |
+ {ui::VKEY_F7, ui::EF_NONE}, |
{ui::VKEY_F7, ui::EF_NONE}}, |
- {KeyTestCase::TEST_ALL, ui::ET_KEY_PRESSED, |
+ {ui::ET_KEY_PRESSED, |
{ui::VKEY_8, ui::EF_COMMAND_DOWN}, |
+ {ui::VKEY_F8, ui::EF_NONE}, |
{ui::VKEY_F8, ui::EF_NONE}}, |
- {KeyTestCase::TEST_ALL, ui::ET_KEY_PRESSED, |
+ {ui::ET_KEY_PRESSED, |
{ui::VKEY_9, ui::EF_COMMAND_DOWN}, |
+ {ui::VKEY_F9, ui::EF_NONE}, |
{ui::VKEY_F9, ui::EF_NONE}}, |
- {KeyTestCase::TEST_ALL, ui::ET_KEY_PRESSED, |
+ {ui::ET_KEY_PRESSED, |
{ui::VKEY_0, ui::EF_COMMAND_DOWN}, |
+ {ui::VKEY_F10, ui::EF_NONE}, |
{ui::VKEY_F10, ui::EF_NONE}}, |
- {KeyTestCase::TEST_ALL, ui::ET_KEY_PRESSED, |
+ {ui::ET_KEY_PRESSED, |
{ui::VKEY_OEM_MINUS, ui::EF_COMMAND_DOWN}, |
+ {ui::VKEY_F11, ui::EF_NONE}, |
{ui::VKEY_F11, ui::EF_NONE}}, |
- {KeyTestCase::TEST_ALL, ui::ET_KEY_PRESSED, |
+ {ui::ET_KEY_PRESSED, |
{ui::VKEY_OEM_PLUS, ui::EF_COMMAND_DOWN}, |
+ {ui::VKEY_F12, ui::EF_NONE}, |
{ui::VKEY_F12, ui::EF_NONE}}, |
// The function keys should not be rewritten with Search key pressed. |
- {KeyTestCase::TEST_ALL, ui::ET_KEY_PRESSED, |
+ {ui::ET_KEY_PRESSED, |
{ui::VKEY_F1, ui::EF_COMMAND_DOWN}, |
- {ui::VKEY_F1, ui::EF_NONE}}, |
- {KeyTestCase::TEST_ALL, ui::ET_KEY_PRESSED, |
+ {ui::VKEY_F1, ui::EF_NONE}, |
+ {ui::VKEY_F1, ui::EF_FUNCTION_KEY}}, |
+ {ui::ET_KEY_PRESSED, |
{ui::VKEY_F2, ui::EF_COMMAND_DOWN}, |
- {ui::VKEY_F2, ui::EF_NONE}}, |
- {KeyTestCase::TEST_ALL, ui::ET_KEY_PRESSED, |
+ {ui::VKEY_F2, ui::EF_NONE}, |
+ {ui::VKEY_F2, ui::EF_FUNCTION_KEY}}, |
+ {ui::ET_KEY_PRESSED, |
{ui::VKEY_F3, ui::EF_COMMAND_DOWN}, |
- {ui::VKEY_F3, ui::EF_NONE}}, |
- {KeyTestCase::TEST_ALL, ui::ET_KEY_PRESSED, |
+ {ui::VKEY_F3, ui::EF_NONE}, |
+ {ui::VKEY_F3, ui::EF_FUNCTION_KEY}}, |
+ {ui::ET_KEY_PRESSED, |
{ui::VKEY_F4, ui::EF_COMMAND_DOWN}, |
- {ui::VKEY_F4, ui::EF_NONE}}, |
- {KeyTestCase::TEST_ALL, ui::ET_KEY_PRESSED, |
+ {ui::VKEY_F4, ui::EF_NONE}, |
+ {ui::VKEY_F4, ui::EF_FUNCTION_KEY}}, |
+ {ui::ET_KEY_PRESSED, |
{ui::VKEY_F5, ui::EF_COMMAND_DOWN}, |
- {ui::VKEY_F5, ui::EF_NONE}}, |
- {KeyTestCase::TEST_ALL, ui::ET_KEY_PRESSED, |
+ {ui::VKEY_F5, ui::EF_NONE}, |
+ {ui::VKEY_F5, ui::EF_FUNCTION_KEY}}, |
+ {ui::ET_KEY_PRESSED, |
{ui::VKEY_F6, ui::EF_COMMAND_DOWN}, |
- {ui::VKEY_F6, ui::EF_NONE}}, |
- {KeyTestCase::TEST_ALL, ui::ET_KEY_PRESSED, |
+ {ui::VKEY_F6, ui::EF_NONE}, |
+ {ui::VKEY_F6, ui::EF_FUNCTION_KEY}}, |
+ {ui::ET_KEY_PRESSED, |
{ui::VKEY_F7, ui::EF_COMMAND_DOWN}, |
- {ui::VKEY_F7, ui::EF_NONE}}, |
- {KeyTestCase::TEST_ALL, ui::ET_KEY_PRESSED, |
+ {ui::VKEY_F7, ui::EF_NONE}, |
+ {ui::VKEY_F7, ui::EF_FUNCTION_KEY}}, |
+ {ui::ET_KEY_PRESSED, |
{ui::VKEY_F8, ui::EF_COMMAND_DOWN}, |
- {ui::VKEY_F8, ui::EF_NONE}}, |
- {KeyTestCase::TEST_ALL, ui::ET_KEY_PRESSED, |
+ {ui::VKEY_F8, ui::EF_NONE}, |
+ {ui::VKEY_F8, ui::EF_FUNCTION_KEY}}, |
+ {ui::ET_KEY_PRESSED, |
{ui::VKEY_F9, ui::EF_COMMAND_DOWN}, |
- {ui::VKEY_F9, ui::EF_NONE}}, |
- {KeyTestCase::TEST_ALL, ui::ET_KEY_PRESSED, |
+ {ui::VKEY_F9, ui::EF_NONE}, |
+ {ui::VKEY_F9, ui::EF_FUNCTION_KEY}}, |
+ {ui::ET_KEY_PRESSED, |
{ui::VKEY_F10, ui::EF_COMMAND_DOWN}, |
- {ui::VKEY_F10, ui::EF_NONE}}, |
- {KeyTestCase::TEST_ALL, ui::ET_KEY_PRESSED, |
+ {ui::VKEY_F10, ui::EF_NONE}, |
+ {ui::VKEY_F10, ui::EF_FUNCTION_KEY}}, |
+ {ui::ET_KEY_PRESSED, |
{ui::VKEY_F11, ui::EF_COMMAND_DOWN}, |
- {ui::VKEY_F11, ui::EF_NONE}}, |
- {KeyTestCase::TEST_ALL, ui::ET_KEY_PRESSED, |
+ {ui::VKEY_F11, ui::EF_NONE}, |
+ {ui::VKEY_F11, ui::EF_FUNCTION_KEY}}, |
+ {ui::ET_KEY_PRESSED, |
{ui::VKEY_F12, ui::EF_COMMAND_DOWN}, |
- {ui::VKEY_F12, ui::EF_NONE}}, |
+ {ui::VKEY_F12, ui::EF_NONE}, |
+ {ui::VKEY_F12, ui::EF_FUNCTION_KEY}}, |
}; |
for (size_t i = 0; i < arraysize(tests); ++i) { |
- CheckKeyTestCase(1000 + i, &rewriter, tests[i]); |
+ CheckFunctionKeyTestCase(1000 + i, &rewriter, tests[i]); |
} |
} |