Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1817)

Side by Side Diff: chrome/test/chromedriver/keycode_text_conversion_unittest.cc

Issue 1135203005: Implement keycode text conversion functions for Ozone. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « chrome/test/chromedriver/keycode_text_conversion_ozone.cc ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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"
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after
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;
56 std::string text; 56 std::string text;
57 EXPECT_TRUE(ConvertKeyCodeToText(key_code, modifiers, &text, &error_msg)); 57 EXPECT_TRUE(ConvertKeyCodeToText(key_code, modifiers, &text, &error_msg));
58 return text; 58 return text;
59 } 59 }
60 60
61 } // namespace 61 } // namespace
62 62
63 #if defined(OS_LINUX) 63 #if defined(OS_LINUX) && !defined(OS_CHROMEOS)
64 // Fails on bots: crbug.com/174962 64 // Fails on bots: crbug.com/174962
65 #define MAYBE_KeyCodeToText DISABLED_KeyCodeToText 65 #define MAYBE_KeyCodeToText DISABLED_KeyCodeToText
66 #else 66 #else
67 #define MAYBE_KeyCodeToText KeyCodeToText 67 #define MAYBE_KeyCodeToText KeyCodeToText
68 #endif 68 #endif
69 69
70 TEST(KeycodeTextConversionTest, MAYBE_KeyCodeToText) { 70 TEST(KeycodeTextConversionTest, MAYBE_KeyCodeToText) {
71 EXPECT_EQ("a", ConvertKeyCodeToTextNoError(ui::VKEY_A, 0)); 71 EXPECT_EQ("a", ConvertKeyCodeToTextNoError(ui::VKEY_A, 0));
72 EXPECT_EQ("A", 72 EXPECT_EQ("A",
73 ConvertKeyCodeToTextNoError(ui::VKEY_A, kShiftKeyModifierMask)); 73 ConvertKeyCodeToTextNoError(ui::VKEY_A, kShiftKeyModifierMask));
(...skipping 12 matching lines...) Expand all
86 86
87 EXPECT_EQ("/", ConvertKeyCodeToTextNoError(ui::VKEY_DIVIDE, 0)); 87 EXPECT_EQ("/", ConvertKeyCodeToTextNoError(ui::VKEY_DIVIDE, 0));
88 EXPECT_EQ("/", 88 EXPECT_EQ("/",
89 ConvertKeyCodeToTextNoError(ui::VKEY_DIVIDE, kShiftKeyModifierMask)); 89 ConvertKeyCodeToTextNoError(ui::VKEY_DIVIDE, kShiftKeyModifierMask));
90 90
91 EXPECT_EQ("", ConvertKeyCodeToTextNoError(ui::VKEY_SHIFT, 0)); 91 EXPECT_EQ("", ConvertKeyCodeToTextNoError(ui::VKEY_SHIFT, 0));
92 EXPECT_EQ("", 92 EXPECT_EQ("",
93 ConvertKeyCodeToTextNoError(ui::VKEY_SHIFT, kShiftKeyModifierMask)); 93 ConvertKeyCodeToTextNoError(ui::VKEY_SHIFT, kShiftKeyModifierMask));
94 } 94 }
95 95
96 #if defined(OS_LINUX) 96 #if defined(OS_LINUX) && !defined(OS_CHROMEOS)
97 // Fails on bots: crbug.com/174962 97 // Fails on bots: crbug.com/174962
98 #define MAYBE_CharToKeyCode DISABLED_CharToKeyCode 98 #define MAYBE_CharToKeyCode DISABLED_CharToKeyCode
99 #else 99 #else
100 #define MAYBE_CharToKeyCode CharToKeyCode 100 #define MAYBE_CharToKeyCode CharToKeyCode
101 #endif 101 #endif
102 102
103 TEST(KeycodeTextConversionTest, MAYBE_CharToKeyCode) { 103 TEST(KeycodeTextConversionTest, MAYBE_CharToKeyCode) {
104 CheckCharToKeyCode('a', ui::VKEY_A, 0); 104 CheckCharToKeyCode('a', ui::VKEY_A, 0);
105 CheckCharToKeyCode('A', ui::VKEY_A, kShiftKeyModifierMask); 105 CheckCharToKeyCode('A', ui::VKEY_A, kShiftKeyModifierMask);
106 106
107 CheckCharToKeyCode('1', ui::VKEY_1, 0); 107 CheckCharToKeyCode('1', ui::VKEY_1, 0);
108 CheckCharToKeyCode('!', ui::VKEY_1, kShiftKeyModifierMask); 108 CheckCharToKeyCode('!', ui::VKEY_1, kShiftKeyModifierMask);
109 109
110 CheckCharToKeyCode(',', ui::VKEY_OEM_COMMA, 0); 110 CheckCharToKeyCode(',', ui::VKEY_OEM_COMMA, 0);
111 CheckCharToKeyCode('<', ui::VKEY_OEM_COMMA, kShiftKeyModifierMask); 111 CheckCharToKeyCode('<', ui::VKEY_OEM_COMMA, kShiftKeyModifierMask);
112 112
113 CheckCharToKeyCode('/', ui::VKEY_OEM_2, 0); 113 CheckCharToKeyCode('/', ui::VKEY_OEM_2, 0);
114 CheckCharToKeyCode('?', ui::VKEY_OEM_2, kShiftKeyModifierMask); 114 CheckCharToKeyCode('?', ui::VKEY_OEM_2, kShiftKeyModifierMask);
115 115
116 CheckCantConvertChar(L'\u00E9'); 116 CheckCantConvertChar(L'\u00E9');
117 CheckCantConvertChar(L'\u2159'); 117 CheckCantConvertChar(L'\u2159');
118 } 118 }
119 119
120 #if defined(OS_LINUX) || defined(OS_MACOSX) 120 #if (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_MACOSX)
121 // Not implemented on Linux. 121 // Not implemented on Linux.
122 // Fails if German layout is not installed on Mac. 122 // Fails if German layout is not installed on Mac.
123 #define MAYBE_NonShiftModifiers DISABLED_NonShiftModifiers 123 #define MAYBE_NonShiftModifiers DISABLED_NonShiftModifiers
124 #else 124 #else
125 #define MAYBE_NonShiftModifiers NonShiftModifiers 125 #define MAYBE_NonShiftModifiers NonShiftModifiers
126 #endif 126 #endif
127 127
128 TEST(KeycodeTextConversionTest, MAYBE_NonShiftModifiers) { 128 TEST(KeycodeTextConversionTest, MAYBE_NonShiftModifiers) {
129 RestoreKeyboardLayoutOnDestruct restore; 129 RestoreKeyboardLayoutOnDestruct restore;
130 #if defined(OS_WIN) 130 #if defined(OS_WIN)
131 ASSERT_TRUE(SwitchKeyboardLayout("00000407")); // german 131 ASSERT_TRUE(SwitchKeyboardLayout("00000407")); // german
132 int ctrl_and_alt = kControlKeyModifierMask | kAltKeyModifierMask; 132 int ctrl_and_alt = kControlKeyModifierMask | kAltKeyModifierMask;
133 CheckCharToKeyCode('@', ui::VKEY_Q, ctrl_and_alt); 133 CheckCharToKeyCode('@', ui::VKEY_Q, ctrl_and_alt);
134 EXPECT_EQ("@", ConvertKeyCodeToTextNoError(ui::VKEY_Q, ctrl_and_alt)); 134 EXPECT_EQ("@", ConvertKeyCodeToTextNoError(ui::VKEY_Q, ctrl_and_alt));
135 #elif defined(OS_MACOSX) 135 #elif defined(OS_MACOSX)
136 ASSERT_TRUE(SwitchKeyboardLayout("com.apple.keylayout.German")); 136 ASSERT_TRUE(SwitchKeyboardLayout("com.apple.keylayout.German"));
137 EXPECT_EQ("@", ConvertKeyCodeToTextNoError( 137 EXPECT_EQ("@", ConvertKeyCodeToTextNoError(
138 ui::VKEY_L, kAltKeyModifierMask)); 138 ui::VKEY_L, kAltKeyModifierMask));
139 #endif 139 #endif
140 } 140 }
141 141
142 #if defined(OS_LINUX) || defined(OS_MACOSX) 142 #if (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_MACOSX)
143 // Not implemented on Linux. 143 // Not implemented on Linux.
144 // Fails if German layout is not installed on Mac. 144 // Fails if German layout is not installed on Mac.
145 #define MAYBE_NonEnglish DISABLED_NonEnglish 145 #define MAYBE_NonEnglish DISABLED_NonEnglish
146 #else 146 #else
147 #define MAYBE_NonEnglish NonEnglish 147 #define MAYBE_NonEnglish NonEnglish
148 #endif 148 #endif
149 149
150 TEST(KeycodeTextConversionTest, MAYBE_NonEnglish) { 150 TEST(KeycodeTextConversionTest, MAYBE_NonEnglish) {
151 RestoreKeyboardLayoutOnDestruct restore; 151 RestoreKeyboardLayoutOnDestruct restore;
152 #if defined(OS_WIN) 152 #if defined(OS_WIN)
153 ASSERT_TRUE(SwitchKeyboardLayout("00000408")); // greek 153 ASSERT_TRUE(SwitchKeyboardLayout("00000408")); // greek
154 CheckCharToKeyCode(';', ui::VKEY_Q, 0); 154 CheckCharToKeyCode(';', ui::VKEY_Q, 0);
155 EXPECT_EQ(";", ConvertKeyCodeToTextNoError(ui::VKEY_Q, 0)); 155 EXPECT_EQ(";", ConvertKeyCodeToTextNoError(ui::VKEY_Q, 0));
156 // Regression test for chromedriver bug #405. 156 // Regression test for chromedriver bug #405.
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 }
OLDNEW
« no previous file with comments | « chrome/test/chromedriver/keycode_text_conversion_ozone.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698