| Index: chrome/renderer/render_view_unittest.cc
|
| diff --git a/chrome/renderer/render_view_unittest.cc b/chrome/renderer/render_view_unittest.cc
|
| index 9c5630e1a6787d48841bc6ab86b8ed47d39f333e..ec778aa78823d956b8dca02f3e58ce5725852b22 100644
|
| --- a/chrome/renderer/render_view_unittest.cc
|
| +++ b/chrome/renderer/render_view_unittest.cc
|
| @@ -3,6 +3,7 @@
|
| // found in the LICENSE file.
|
|
|
| #include "base/file_util.h"
|
| +#include "base/keyboard_codes.h"
|
| #include "base/shared_memory.h"
|
| #include "chrome/common/content_settings.h"
|
| #include "chrome/common/native_web_keyboard_event.h"
|
| @@ -532,7 +533,7 @@ TEST_F(RenderViewTest, OnPrintPageAsBitmap) {
|
| // Test that we can receive correct DOM events when we send input events
|
| // through the RenderWidget::OnHandleInputEvent() function.
|
| TEST_F(RenderViewTest, FLAKY_OnHandleKeyboardEvent) {
|
| -#if defined(OS_WIN)
|
| +#if defined(OS_WIN) || defined(OS_LINUX)
|
| // Load an HTML page consisting of one <input> element and three
|
| // contentediable <div> elements.
|
| // The <input> element is used for sending keyboard events, and the <div>
|
| @@ -592,11 +593,14 @@ TEST_F(RenderViewTest, FLAKY_OnHandleKeyboardEvent) {
|
| // result. (See the above comment for its format.)
|
| static const struct {
|
| MockKeyboard::Modifiers modifiers;
|
| - const wchar_t* expected_result;
|
| + const char* expected_result;
|
| } kModifierData[] = {
|
| - {MockKeyboard::NONE, L"false,false,false"},
|
| - {MockKeyboard::LEFT_SHIFT, L"true,false,false"},
|
| - {MockKeyboard::RIGHT_ALT, L"false,false,true"},
|
| + {MockKeyboard::NONE, "false,false,false"},
|
| + {MockKeyboard::LEFT_SHIFT, "true,false,false"},
|
| +#if defined(OS_WIN)
|
| + // TODO(estade): figure out why this one doesn't work on Linux.
|
| + {MockKeyboard::RIGHT_ALT, "false,false,true"},
|
| +#endif
|
| };
|
|
|
| MockKeyboard::Layout layout = kLayouts[i];
|
| @@ -608,18 +612,21 @@ TEST_F(RenderViewTest, FLAKY_OnHandleKeyboardEvent) {
|
| 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N',
|
| 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V',
|
| 'W', 'X', 'Y', 'Z',
|
| - VK_OEM_1,
|
| - VK_OEM_PLUS,
|
| - VK_OEM_COMMA,
|
| - VK_OEM_MINUS,
|
| - VK_OEM_PERIOD,
|
| - VK_OEM_2,
|
| - VK_OEM_3,
|
| - VK_OEM_4,
|
| - VK_OEM_5,
|
| - VK_OEM_6,
|
| - VK_OEM_7,
|
| - VK_OEM_8,
|
| + base::VKEY_OEM_1,
|
| + base::VKEY_OEM_PLUS,
|
| + base::VKEY_OEM_COMMA,
|
| + base::VKEY_OEM_MINUS,
|
| + base::VKEY_OEM_PERIOD,
|
| + base::VKEY_OEM_2,
|
| + base::VKEY_OEM_3,
|
| + base::VKEY_OEM_4,
|
| + base::VKEY_OEM_5,
|
| + base::VKEY_OEM_6,
|
| + base::VKEY_OEM_7,
|
| +#if defined(OS_WIN)
|
| + // Not sure how to handle this key on Linux.
|
| + base::VKEY_OEM_8,
|
| +#endif
|
| };
|
|
|
| MockKeyboard::Modifiers modifiers = kModifierData[j].modifiers;
|
| @@ -637,21 +644,22 @@ TEST_F(RenderViewTest, FLAKY_OnHandleKeyboardEvent) {
|
| // code, and the modifier-key status.
|
| // We format a string that emulates a DOM-event string produced hy
|
| // our JavaScript function. (See the above comment for the format.)
|
| - static wchar_t expected_result[1024];
|
| - wsprintf(&expected_result[0],
|
| - L"\x000A" // texts in the <input> element
|
| - L"%d,%s\x000A" // texts in the first <div> element
|
| - L"%d,%s\x000A" // texts in the second <div> element
|
| - L"%d,%s", // texts in the third <div> element
|
| - key_code, kModifierData[j].expected_result,
|
| - char_code[0], kModifierData[j].expected_result,
|
| - key_code, kModifierData[j].expected_result);
|
| + static char expected_result[1024];
|
| + expected_result[0] = NULL;
|
| + sprintf(&expected_result[0],
|
| + "\n" // texts in the <input> element
|
| + "%d,%s\n" // texts in the first <div> element
|
| + "%d,%s\n" // texts in the second <div> element
|
| + "%d,%s", // texts in the third <div> element
|
| + key_code, kModifierData[j].expected_result,
|
| + char_code[0], kModifierData[j].expected_result,
|
| + key_code, kModifierData[j].expected_result);
|
|
|
| // Retrieve the text in the test page and compare it with the expected
|
| // text created from a virtual-key code, a character code, and the
|
| // modifier-key status.
|
| const int kMaxOutputCharacters = 1024;
|
| - std::wstring output = UTF16ToWideHack(
|
| + std::string output = UTF16ToUTF8(
|
| GetMainFrame()->contentAsText(kMaxOutputCharacters));
|
| EXPECT_EQ(expected_result, output);
|
| }
|
| @@ -832,18 +840,18 @@ TEST_F(RenderViewTest, InsertCharacters) {
|
| 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N',
|
| 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V',
|
| 'W', 'X', 'Y', 'Z',
|
| - VK_OEM_1,
|
| - VK_OEM_PLUS,
|
| - VK_OEM_COMMA,
|
| - VK_OEM_MINUS,
|
| - VK_OEM_PERIOD,
|
| - VK_OEM_2,
|
| - VK_OEM_3,
|
| - VK_OEM_4,
|
| - VK_OEM_5,
|
| - VK_OEM_6,
|
| - VK_OEM_7,
|
| - VK_OEM_8,
|
| + base::VKEY_OEM_1,
|
| + base::VKEY_OEM_PLUS,
|
| + base::VKEY_OEM_COMMA,
|
| + base::VKEY_OEM_MINUS,
|
| + base::VKEY_OEM_PERIOD,
|
| + base::VKEY_OEM_2,
|
| + base::VKEY_OEM_3,
|
| + base::VKEY_OEM_4,
|
| + base::VKEY_OEM_5,
|
| + base::VKEY_OEM_6,
|
| + base::VKEY_OEM_7,
|
| + base::VKEY_OEM_8,
|
| };
|
|
|
| MockKeyboard::Modifiers modifiers = kModifiers[j];
|
|
|