OLD | NEW |
1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include <string> | 5 #include <string> |
6 | 6 |
7 #include "base/strings/string16.h" | 7 #include "base/strings/string16.h" |
8 #include "base/strings/utf_string_conversions.h" | 8 #include "base/strings/utf_string_conversions.h" |
9 #include "chrome/test/chromedriver/chrome/ui_events.h" | 9 #include "chrome/test/chromedriver/chrome/ui_events.h" |
10 #include "chrome/test/chromedriver/keycode_text_conversion.h" | 10 #include "chrome/test/chromedriver/keycode_text_conversion.h" |
11 #include "chrome/test/chromedriver/test_util.h" | 11 #include "chrome/test/chromedriver/test_util.h" |
12 #include "testing/gtest/include/gtest/gtest.h" | 12 #include "testing/gtest/include/gtest/gtest.h" |
13 #include "ui/events/keycodes/keyboard_codes.h" | 13 #include "ui/events/keycodes/keyboard_codes.h" |
14 | 14 |
15 namespace { | 15 namespace { |
16 | 16 |
17 void CheckCharToKeyCode16(char16 character, ui::KeyboardCode key_code, | 17 void CheckCharToKeyCode16(base::char16 character, ui::KeyboardCode key_code, |
18 int modifiers) { | 18 int modifiers) { |
19 ui::KeyboardCode actual_key_code = ui::VKEY_UNKNOWN; | 19 ui::KeyboardCode actual_key_code = ui::VKEY_UNKNOWN; |
20 int actual_modifiers = 0; | 20 int actual_modifiers = 0; |
21 std::string error_msg; | 21 std::string error_msg; |
22 EXPECT_TRUE(ConvertCharToKeyCode( | 22 EXPECT_TRUE(ConvertCharToKeyCode( |
23 character, &actual_key_code, &actual_modifiers, &error_msg)); | 23 character, &actual_key_code, &actual_modifiers, &error_msg)); |
24 EXPECT_EQ(key_code, actual_key_code) << "Char: " << character; | 24 EXPECT_EQ(key_code, actual_key_code) << "Char: " << character; |
25 EXPECT_EQ(modifiers, actual_modifiers) << "Char: " << character; | 25 EXPECT_EQ(modifiers, actual_modifiers) << "Char: " << character; |
26 } | 26 } |
27 | 27 |
28 void CheckCharToKeyCode(char character, ui::KeyboardCode key_code, | 28 void CheckCharToKeyCode(char character, ui::KeyboardCode key_code, |
29 int modifiers) { | 29 int modifiers) { |
30 CheckCharToKeyCode16(base::UTF8ToUTF16(std::string(1, character))[0], | 30 CheckCharToKeyCode16(base::UTF8ToUTF16(std::string(1, character))[0], |
31 key_code, modifiers); | 31 key_code, modifiers); |
32 } | 32 } |
33 | 33 |
34 #if defined(OS_WIN) | 34 #if defined(OS_WIN) |
35 void CheckCharToKeyCode(wchar_t character, ui::KeyboardCode key_code, | 35 void CheckCharToKeyCode(wchar_t character, ui::KeyboardCode key_code, |
36 int modifiers) { | 36 int modifiers) { |
37 CheckCharToKeyCode16(base::WideToUTF16(std::wstring(1, character))[0], | 37 CheckCharToKeyCode16(base::WideToUTF16(std::wstring(1, character))[0], |
38 key_code, modifiers); | 38 key_code, modifiers); |
39 } | 39 } |
40 #endif | 40 #endif |
41 | 41 |
42 void CheckCantConvertChar(wchar_t character) { | 42 void CheckCantConvertChar(wchar_t character) { |
43 std::wstring character_string; | 43 std::wstring character_string; |
44 character_string.push_back(character); | 44 character_string.push_back(character); |
45 char16 character_utf16 = base::WideToUTF16(character_string)[0]; | 45 base::char16 character_utf16 = base::WideToUTF16(character_string)[0]; |
46 ui::KeyboardCode actual_key_code = ui::VKEY_UNKNOWN; | 46 ui::KeyboardCode actual_key_code = ui::VKEY_UNKNOWN; |
47 int actual_modifiers = 0; | 47 int actual_modifiers = 0; |
48 std::string error_msg; | 48 std::string error_msg; |
49 EXPECT_FALSE(ConvertCharToKeyCode( | 49 EXPECT_FALSE(ConvertCharToKeyCode( |
50 character_utf16, &actual_key_code, &actual_modifiers, &error_msg)); | 50 character_utf16, &actual_key_code, &actual_modifiers, &error_msg)); |
51 } | 51 } |
52 | 52 |
53 std::string ConvertKeyCodeToTextNoError(ui::KeyboardCode key_code, | 53 std::string ConvertKeyCodeToTextNoError(ui::KeyboardCode key_code, |
54 int modifiers) { | 54 int modifiers) { |
55 std::string error_msg; | 55 std::string error_msg; |
(...skipping 101 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
157 ASSERT_TRUE(SwitchKeyboardLayout("00000419")); // russian | 157 ASSERT_TRUE(SwitchKeyboardLayout("00000419")); // russian |
158 CheckCharToKeyCode(L'\u0438', ui::VKEY_B, 0); | 158 CheckCharToKeyCode(L'\u0438', ui::VKEY_B, 0); |
159 EXPECT_EQ(base::UTF16ToUTF8(L"\u0438"), | 159 EXPECT_EQ(base::UTF16ToUTF8(L"\u0438"), |
160 ConvertKeyCodeToTextNoError(ui::VKEY_B, 0)); | 160 ConvertKeyCodeToTextNoError(ui::VKEY_B, 0)); |
161 #elif defined(OS_MACOSX) | 161 #elif defined(OS_MACOSX) |
162 ASSERT_TRUE(SwitchKeyboardLayout("com.apple.keylayout.German")); | 162 ASSERT_TRUE(SwitchKeyboardLayout("com.apple.keylayout.German")); |
163 CheckCharToKeyCode('z', ui::VKEY_Y, 0); | 163 CheckCharToKeyCode('z', ui::VKEY_Y, 0); |
164 EXPECT_EQ("z", ConvertKeyCodeToTextNoError(ui::VKEY_Y, 0)); | 164 EXPECT_EQ("z", ConvertKeyCodeToTextNoError(ui::VKEY_Y, 0)); |
165 #endif | 165 #endif |
166 } | 166 } |
OLD | NEW |