diff options
-rw-r--r-- | webkit/tools/test_shell/keyboard_unittest.cc | 49 |
1 files changed, 33 insertions, 16 deletions
diff --git a/webkit/tools/test_shell/keyboard_unittest.cc b/webkit/tools/test_shell/keyboard_unittest.cc index 4389ab8..a1a2dd8 100644 --- a/webkit/tools/test_shell/keyboard_unittest.cc +++ b/webkit/tools/test_shell/keyboard_unittest.cc @@ -53,9 +53,26 @@ class KeyboardTest : public testing::Test { keyboard_event->type = WebInputEvent::KEY_DOWN; #if defined(OS_LINUX) keyboard_event->text = key_code; +#elif defined(OS_MACOSX) + keyboard_event->text.clear(); + keyboard_event->text.push_back(key_code); #endif } + // Like InterpretKeyEvent, but with pressing down OSModifier+|key_code|. + // OSModifier is the platform's standard modifier key: control on most + // platforms, but meta (command) on Mac. + const char* InterpretOSModifierKeyPress(char key_code) { + WebKeyboardEvent keyboard_event; +#if defined(OS_WIN) || defined(OS_LINUX) + WebInputEvent::Modifiers os_modifier = WebInputEvent::CTRL_KEY; +#elif defined(OS_MACOSX) + WebInputEvent::Modifiers os_modifier = WebInputEvent::META_KEY; +#endif + SetupKeyDownEvent(&keyboard_event, key_code, os_modifier); + return InterpretKeyEvent(keyboard_event, PlatformKeyboardEvent::RawKeyDown); + } + // Like InterpretKeyEvent, but with pressing down ctrl+|key_code|. const char* InterpretCtrlKeyPress(char key_code) { WebKeyboardEvent keyboard_event; @@ -85,24 +102,28 @@ TEST_F(KeyboardTest, TestCtrlReturn) { EXPECT_STREQ("InsertNewline", InterpretCtrlKeyPress(0xD)); } -TEST_F(KeyboardTest, TestCtrlZ) { - EXPECT_STREQ("Undo", InterpretCtrlKeyPress('Z')); +TEST_F(KeyboardTest, TestOSModifierZ) { + EXPECT_STREQ("Undo", InterpretOSModifierKeyPress('Z')); } -TEST_F(KeyboardTest, TestCtrlA) { - EXPECT_STREQ("SelectAll", InterpretCtrlKeyPress('A')); +TEST_F(KeyboardTest, TestOSModifierY) { + EXPECT_STREQ("Redo", InterpretOSModifierKeyPress('Y')); } -TEST_F(KeyboardTest, TestCtrlX) { - EXPECT_STREQ("Cut", InterpretCtrlKeyPress('X')); +TEST_F(KeyboardTest, TestOSModifierA) { + EXPECT_STREQ("SelectAll", InterpretOSModifierKeyPress('A')); } -TEST_F(KeyboardTest, TestCtrlC) { - EXPECT_STREQ("Copy", InterpretCtrlKeyPress('C')); +TEST_F(KeyboardTest, TestOSModifierX) { + EXPECT_STREQ("Cut", InterpretOSModifierKeyPress('X')); } -TEST_F(KeyboardTest, TestCtrlV) { - EXPECT_STREQ("Paste", InterpretCtrlKeyPress('V')); +TEST_F(KeyboardTest, TestOSModifierC) { + EXPECT_STREQ("Copy", InterpretOSModifierKeyPress('C')); +} + +TEST_F(KeyboardTest, TestOSModifierV) { + EXPECT_STREQ("Paste", InterpretOSModifierKeyPress('V')); } TEST_F(KeyboardTest, TestEscape) { @@ -114,10 +135,6 @@ TEST_F(KeyboardTest, TestEscape) { EXPECT_STREQ("Cancel", result); } -TEST_F(KeyboardTest, TestRedo) { - EXPECT_STREQ(InterpretCtrlKeyPress('Y'), "Redo"); -} - TEST_F(KeyboardTest, TestInsertTab) { EXPECT_STREQ("InsertTab", InterpretTab(kNoModifiers)); } @@ -134,7 +151,7 @@ TEST_F(KeyboardTest, TestInsertNewline2) { EXPECT_STREQ("InsertNewline", InterpretNewLine(WebInputEvent::CTRL_KEY)); } -TEST_F(KeyboardTest, TestInsertlinebreak) { +TEST_F(KeyboardTest, TestInsertLineBreak) { EXPECT_STREQ("InsertLineBreak", InterpretNewLine(WebInputEvent::SHIFT_KEY)); } @@ -145,5 +162,5 @@ TEST_F(KeyboardTest, TestInsertNewline3) { TEST_F(KeyboardTest, TestInsertNewline4) { int modifiers = WebInputEvent::ALT_KEY | WebInputEvent::SHIFT_KEY; const char* result = InterpretNewLine(modifiers); - EXPECT_STREQ(result, "InsertNewline"); + EXPECT_STREQ("InsertNewline", result); } |