Chromium Code Reviews| Index: Source/web/tests/KeyboardTest.cpp |
| diff --git a/Source/web/tests/KeyboardTest.cpp b/Source/web/tests/KeyboardTest.cpp |
| index f33d651d499fb456e6072b8420f8e2b3548251b7..91b2e8f190c12f5f0025f8dcc4bb74009e1556d1 100644 |
| --- a/Source/web/tests/KeyboardTest.cpp |
| +++ b/Source/web/tests/KeyboardTest.cpp |
| @@ -36,10 +36,15 @@ |
| #include "core/editing/Editor.h" |
| #include "core/events/EventTarget.h" |
| #include "core/events/KeyboardEvent.h" |
| +#include "core/frame/FrameView.h" |
| #include "core/frame/Settings.h" |
| +#include "core/page/Page.h" |
| +#include "core/testing/URLTestHelpers.h" |
| #include "platform/KeyboardCodes.h" |
| #include "public/web/WebInputEvent.h" |
| #include "web/WebInputEventConversion.h" |
| +#include "web/WebViewImpl.h" |
| +#include "web/tests/FrameTestHelpers.h" |
| using namespace blink; |
| @@ -55,7 +60,7 @@ public: |
| const WebKeyboardEvent& webKeyboardEvent, |
| PlatformEvent::Type keyType) |
| { |
| - PlatformKeyboardEventBuilder evt(webKeyboardEvent); |
| + PlatformKeyboardEventBuilder evt(toLocalFrame(m_webView->page()->mainFrame())->view(), webKeyboardEvent); |
| evt.setKeyType(keyType); |
| RefPtrWillBeRawPtr<KeyboardEvent> keyboardEvent = KeyboardEvent::create(evt, 0); |
| OwnPtr<Settings> settings = Settings::create(); |
| @@ -114,17 +119,33 @@ public: |
| return interpretKeyEvent(keyboardEvent, PlatformEvent::Char); |
| } |
| + void initializeAndLoad() |
| + { |
| + const std::string baseURL("http://www.test5.com/"); |
|
bokan
2015/01/23 15:35:25
You'll likely get the same problem here with tryin
Habib Virji
2015/01/23 15:58:16
Done.
|
| + const std::string fileName("fixed_layout.html"); |
| + URLTestHelpers::registerMockedURLFromBaseURL(WebString::fromUTF8(baseURL.c_str()), WebString::fromUTF8(fileName.c_str())); |
| + m_webView = m_helper.initializeAndLoad(baseURL + fileName, true); |
| + m_webView->resize(WebSize(640, 480)); |
| + m_webView->layout(); |
| + } |
| + |
| // A name for "no modifiers set". |
| static const int noModifiers = 0; |
| + |
| +private: |
| + FrameTestHelpers::WebViewHelper m_helper; |
| + WebViewImpl* m_webView; |
| }; |
| TEST_F(KeyboardTest, TestCtrlReturn) |
| { |
| + initializeAndLoad(); |
| EXPECT_STREQ("InsertNewline", interpretCtrlKeyPress(0xD)); |
| } |
| TEST_F(KeyboardTest, TestOSModifierZ) |
| { |
| + initializeAndLoad(); |
| #if !OS(MACOSX) |
| EXPECT_STREQ("Undo", interpretOSModifierKeyPress('Z')); |
| #endif |
| @@ -132,6 +153,7 @@ TEST_F(KeyboardTest, TestOSModifierZ) |
| TEST_F(KeyboardTest, TestOSModifierY) |
| { |
| + initializeAndLoad(); |
| #if !OS(MACOSX) |
| EXPECT_STREQ("Redo", interpretOSModifierKeyPress('Y')); |
| #endif |
| @@ -139,6 +161,7 @@ TEST_F(KeyboardTest, TestOSModifierY) |
| TEST_F(KeyboardTest, TestOSModifierA) |
| { |
| + initializeAndLoad(); |
| #if !OS(MACOSX) |
| EXPECT_STREQ("SelectAll", interpretOSModifierKeyPress('A')); |
| #endif |
| @@ -146,6 +169,7 @@ TEST_F(KeyboardTest, TestOSModifierA) |
| TEST_F(KeyboardTest, TestOSModifierX) |
| { |
| + initializeAndLoad(); |
| #if !OS(MACOSX) |
| EXPECT_STREQ("Cut", interpretOSModifierKeyPress('X')); |
| #endif |
| @@ -153,6 +177,7 @@ TEST_F(KeyboardTest, TestOSModifierX) |
| TEST_F(KeyboardTest, TestOSModifierC) |
| { |
| + initializeAndLoad(); |
| #if !OS(MACOSX) |
| EXPECT_STREQ("Copy", interpretOSModifierKeyPress('C')); |
| #endif |
| @@ -160,6 +185,7 @@ TEST_F(KeyboardTest, TestOSModifierC) |
| TEST_F(KeyboardTest, TestOSModifierV) |
| { |
| + initializeAndLoad(); |
| #if !OS(MACOSX) |
| EXPECT_STREQ("Paste", interpretOSModifierKeyPress('V')); |
| #endif |
| @@ -167,6 +193,7 @@ TEST_F(KeyboardTest, TestOSModifierV) |
| TEST_F(KeyboardTest, TestEscape) |
| { |
| + initializeAndLoad(); |
| WebKeyboardEvent keyboardEvent; |
| setupKeyDownEvent(&keyboardEvent, VKEY_ESCAPE, noModifiers); |
| @@ -177,36 +204,43 @@ TEST_F(KeyboardTest, TestEscape) |
| TEST_F(KeyboardTest, TestInsertTab) |
| { |
| + initializeAndLoad(); |
| EXPECT_STREQ("InsertTab", interpretTab(noModifiers)); |
| } |
| TEST_F(KeyboardTest, TestInsertBackTab) |
| { |
| + initializeAndLoad(); |
| EXPECT_STREQ("InsertBacktab", interpretTab(WebInputEvent::ShiftKey)); |
| } |
| TEST_F(KeyboardTest, TestInsertNewline) |
| { |
| + initializeAndLoad(); |
| EXPECT_STREQ("InsertNewline", interpretNewLine(noModifiers)); |
| } |
| TEST_F(KeyboardTest, TestInsertNewline2) |
| { |
| + initializeAndLoad(); |
| EXPECT_STREQ("InsertNewline", interpretNewLine(WebInputEvent::ControlKey)); |
| } |
| TEST_F(KeyboardTest, TestInsertLineBreak) |
| { |
| + initializeAndLoad(); |
| EXPECT_STREQ("InsertLineBreak", interpretNewLine(WebInputEvent::ShiftKey)); |
| } |
| TEST_F(KeyboardTest, TestInsertNewline3) |
| { |
| + initializeAndLoad(); |
| EXPECT_STREQ("InsertNewline", interpretNewLine(WebInputEvent::AltKey)); |
| } |
| TEST_F(KeyboardTest, TestInsertNewline4) |
| { |
| + initializeAndLoad(); |
| int modifiers = WebInputEvent::AltKey | WebInputEvent::ShiftKey; |
| const char* result = interpretNewLine(modifiers); |
| EXPECT_STREQ("InsertNewline", result); |