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