| 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]);
|
| }
|
| }
|
|
|
|
|