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

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

Issue 94013004: Add base:: to string16s in chrome/. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: try again Created 7 years 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 | Annotate | Revision Log
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 <list> 5 #include <list>
6 #include <string> 6 #include <string>
7 7
8 #include "base/strings/string16.h" 8 #include "base/strings/string16.h"
9 #include "base/strings/utf_string_conversions.h" 9 #include "base/strings/utf_string_conversions.h"
10 #include "chrome/test/chromedriver/chrome/status.h" 10 #include "chrome/test/chromedriver/chrome/status.h"
11 #include "chrome/test/chromedriver/chrome/ui_events.h" 11 #include "chrome/test/chromedriver/chrome/ui_events.h"
12 #include "chrome/test/chromedriver/key_converter.h" 12 #include "chrome/test/chromedriver/key_converter.h"
13 #include "chrome/test/chromedriver/test_util.h" 13 #include "chrome/test/chromedriver/test_util.h"
14 #include "testing/gtest/include/gtest/gtest.h" 14 #include "testing/gtest/include/gtest/gtest.h"
15 15
16 namespace { 16 namespace {
17 17
18 void CheckEvents(const string16& keys, 18 void CheckEvents(const base::string16& keys,
19 KeyEvent expected_events[], 19 KeyEvent expected_events[],
20 bool release_modifiers, 20 bool release_modifiers,
21 size_t expected_size, 21 size_t expected_size,
22 int expected_modifiers) { 22 int expected_modifiers) {
23 int modifiers = 0; 23 int modifiers = 0;
24 std::list<KeyEvent> events; 24 std::list<KeyEvent> events;
25 EXPECT_EQ(kOk, ConvertKeysToKeyEvents(keys, release_modifiers, 25 EXPECT_EQ(kOk, ConvertKeysToKeyEvents(keys, release_modifiers,
26 &modifiers, &events).code()); 26 &modifiers, &events).code());
27 EXPECT_EQ(expected_size, events.size()); 27 EXPECT_EQ(expected_size, events.size());
28 size_t i = 0; 28 size_t i = 0;
29 std::list<KeyEvent>::const_iterator it = events.begin(); 29 std::list<KeyEvent>::const_iterator it = events.begin();
30 while (i < expected_size && it != events.end()) { 30 while (i < expected_size && it != events.end()) {
31 EXPECT_EQ(expected_events[i].type, it->type); 31 EXPECT_EQ(expected_events[i].type, it->type);
32 EXPECT_EQ(expected_events[i].modifiers, it->modifiers); 32 EXPECT_EQ(expected_events[i].modifiers, it->modifiers);
33 EXPECT_EQ(expected_events[i].modified_text, it->modified_text); 33 EXPECT_EQ(expected_events[i].modified_text, it->modified_text);
34 EXPECT_EQ(expected_events[i].unmodified_text, it->unmodified_text); 34 EXPECT_EQ(expected_events[i].unmodified_text, it->unmodified_text);
35 EXPECT_EQ(expected_events[i].key_code, it->key_code); 35 EXPECT_EQ(expected_events[i].key_code, it->key_code);
36 36
37 ++i; 37 ++i;
38 ++it; 38 ++it;
39 } 39 }
40 EXPECT_EQ(expected_modifiers, modifiers); 40 EXPECT_EQ(expected_modifiers, modifiers);
41 } 41 }
42 42
43 void CheckEventsReleaseModifiers(const string16& keys, 43 void CheckEventsReleaseModifiers(const base::string16& keys,
44 KeyEvent expected_events[], 44 KeyEvent expected_events[],
45 size_t expected_size) { 45 size_t expected_size) {
46 CheckEvents(keys, expected_events, true /* release_modifier */, 46 CheckEvents(keys, expected_events, true /* release_modifier */,
47 expected_size, 0 /* expected_modifiers */); 47 expected_size, 0 /* expected_modifiers */);
48 } 48 }
49 49
50 void CheckEventsReleaseModifiers(const std::string& keys, 50 void CheckEventsReleaseModifiers(const std::string& keys,
51 KeyEvent expected_events[], 51 KeyEvent expected_events[],
52 size_t expected_size) { 52 size_t expected_size) {
53 CheckEventsReleaseModifiers(UTF8ToUTF16(keys), 53 CheckEventsReleaseModifiers(UTF8ToUTF16(keys),
(...skipping 74 matching lines...) Expand 10 before | Expand all | Expand 10 after
128 CreateCharEvent("y", "y", 0), 128 CreateCharEvent("y", "y", 0),
129 CreateKeyUpEvent(ui::VKEY_Y, 0)}; 129 CreateKeyUpEvent(ui::VKEY_Y, 0)};
130 CheckEventsReleaseModifiers("hey", event_array, arraysize(event_array)); 130 CheckEventsReleaseModifiers("hey", event_array, arraysize(event_array));
131 } 131 }
132 132
133 TEST(KeyConverter, WebDriverSpecialChar) { 133 TEST(KeyConverter, WebDriverSpecialChar) {
134 KeyEvent event_array[] = { 134 KeyEvent event_array[] = {
135 CreateKeyDownEvent(ui::VKEY_SPACE, 0), 135 CreateKeyDownEvent(ui::VKEY_SPACE, 0),
136 CreateCharEvent(" ", " ", 0), 136 CreateCharEvent(" ", " ", 0),
137 CreateKeyUpEvent(ui::VKEY_SPACE, 0)}; 137 CreateKeyUpEvent(ui::VKEY_SPACE, 0)};
138 string16 keys; 138 base::string16 keys;
139 keys.push_back(static_cast<char16>(0xE00DU)); 139 keys.push_back(static_cast<char16>(0xE00DU));
140 CheckEventsReleaseModifiers(keys, event_array, arraysize(event_array)); 140 CheckEventsReleaseModifiers(keys, event_array, arraysize(event_array));
141 } 141 }
142 142
143 TEST(KeyConverter, WebDriverSpecialNonCharKey) { 143 TEST(KeyConverter, WebDriverSpecialNonCharKey) {
144 KeyEvent event_array[] = { 144 KeyEvent event_array[] = {
145 CreateKeyDownEvent(ui::VKEY_F1, 0), 145 CreateKeyDownEvent(ui::VKEY_F1, 0),
146 CreateKeyUpEvent(ui::VKEY_F1, 0)}; 146 CreateKeyUpEvent(ui::VKEY_F1, 0)};
147 string16 keys; 147 base::string16 keys;
148 keys.push_back(static_cast<char16>(0xE031U)); 148 keys.push_back(static_cast<char16>(0xE031U));
149 CheckEventsReleaseModifiers(keys, event_array, arraysize(event_array)); 149 CheckEventsReleaseModifiers(keys, event_array, arraysize(event_array));
150 } 150 }
151 151
152 TEST(KeyConverter, FrenchKeyOnEnglishLayout) { 152 TEST(KeyConverter, FrenchKeyOnEnglishLayout) {
153 KeyEvent event_array[] = { 153 KeyEvent event_array[] = {
154 CreateKeyDownEvent(ui::VKEY_UNKNOWN, 0), 154 CreateKeyDownEvent(ui::VKEY_UNKNOWN, 0),
155 CreateCharEvent(WideToUTF8(L"\u00E9"), WideToUTF8(L"\u00E9"), 0), 155 CreateCharEvent(WideToUTF8(L"\u00E9"), WideToUTF8(L"\u00E9"), 0),
156 CreateKeyUpEvent(ui::VKEY_UNKNOWN, 0)}; 156 CreateKeyUpEvent(ui::VKEY_UNKNOWN, 0)};
157 CheckEventsReleaseModifiers(WideToUTF16(L"\u00E9"), 157 CheckEventsReleaseModifiers(WideToUTF16(L"\u00E9"),
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after
201 CreateKeyDownEvent(ui::VKEY_A, kShiftKeyModifierMask), 201 CreateKeyDownEvent(ui::VKEY_A, kShiftKeyModifierMask),
202 CreateCharEvent("a", "A", kShiftKeyModifierMask), 202 CreateCharEvent("a", "A", kShiftKeyModifierMask),
203 CreateKeyUpEvent(ui::VKEY_A, kShiftKeyModifierMask), 203 CreateKeyUpEvent(ui::VKEY_A, kShiftKeyModifierMask),
204 CreateKeyDownEvent(ui::VKEY_B, kShiftKeyModifierMask), 204 CreateKeyDownEvent(ui::VKEY_B, kShiftKeyModifierMask),
205 CreateCharEvent("b", "B", kShiftKeyModifierMask), 205 CreateCharEvent("b", "B", kShiftKeyModifierMask),
206 CreateKeyUpEvent(ui::VKEY_B, kShiftKeyModifierMask), 206 CreateKeyUpEvent(ui::VKEY_B, kShiftKeyModifierMask),
207 CreateKeyDownEvent(ui::VKEY_C, kShiftKeyModifierMask), 207 CreateKeyDownEvent(ui::VKEY_C, kShiftKeyModifierMask),
208 CreateCharEvent("c", "C", kShiftKeyModifierMask), 208 CreateCharEvent("c", "C", kShiftKeyModifierMask),
209 CreateKeyUpEvent(ui::VKEY_C, kShiftKeyModifierMask), 209 CreateKeyUpEvent(ui::VKEY_C, kShiftKeyModifierMask),
210 CreateKeyUpEvent(ui::VKEY_SHIFT, 0)}; 210 CreateKeyUpEvent(ui::VKEY_SHIFT, 0)};
211 string16 keys; 211 base::string16 keys;
212 keys.push_back(static_cast<char16>(0xE008U)); 212 keys.push_back(static_cast<char16>(0xE008U));
213 keys.append(UTF8ToUTF16("aBc")); 213 keys.append(UTF8ToUTF16("aBc"));
214 CheckEventsReleaseModifiers(keys, event_array, arraysize(event_array)); 214 CheckEventsReleaseModifiers(keys, event_array, arraysize(event_array));
215 } 215 }
216 216
217 TEST(KeyConverter, ToggleModifiers) { 217 TEST(KeyConverter, ToggleModifiers) {
218 KeyEvent event_array[] = { 218 KeyEvent event_array[] = {
219 CreateKeyDownEvent(ui::VKEY_SHIFT, kShiftKeyModifierMask), 219 CreateKeyDownEvent(ui::VKEY_SHIFT, kShiftKeyModifierMask),
220 CreateKeyUpEvent(ui::VKEY_SHIFT, 0), 220 CreateKeyUpEvent(ui::VKEY_SHIFT, 0),
221 CreateKeyDownEvent(ui::VKEY_CONTROL, kControlKeyModifierMask), 221 CreateKeyDownEvent(ui::VKEY_CONTROL, kControlKeyModifierMask),
222 CreateKeyUpEvent(ui::VKEY_CONTROL, 0), 222 CreateKeyUpEvent(ui::VKEY_CONTROL, 0),
223 CreateKeyDownEvent(ui::VKEY_MENU, kAltKeyModifierMask), 223 CreateKeyDownEvent(ui::VKEY_MENU, kAltKeyModifierMask),
224 CreateKeyUpEvent(ui::VKEY_MENU, 0), 224 CreateKeyUpEvent(ui::VKEY_MENU, 0),
225 CreateKeyDownEvent(ui::VKEY_COMMAND, kMetaKeyModifierMask), 225 CreateKeyDownEvent(ui::VKEY_COMMAND, kMetaKeyModifierMask),
226 CreateKeyUpEvent(ui::VKEY_COMMAND, 0)}; 226 CreateKeyUpEvent(ui::VKEY_COMMAND, 0)};
227 string16 keys; 227 base::string16 keys;
228 keys.push_back(static_cast<char16>(0xE008U)); 228 keys.push_back(static_cast<char16>(0xE008U));
229 keys.push_back(static_cast<char16>(0xE008U)); 229 keys.push_back(static_cast<char16>(0xE008U));
230 keys.push_back(static_cast<char16>(0xE009U)); 230 keys.push_back(static_cast<char16>(0xE009U));
231 keys.push_back(static_cast<char16>(0xE009U)); 231 keys.push_back(static_cast<char16>(0xE009U));
232 keys.push_back(static_cast<char16>(0xE00AU)); 232 keys.push_back(static_cast<char16>(0xE00AU));
233 keys.push_back(static_cast<char16>(0xE00AU)); 233 keys.push_back(static_cast<char16>(0xE00AU));
234 keys.push_back(static_cast<char16>(0xE03DU)); 234 keys.push_back(static_cast<char16>(0xE03DU));
235 keys.push_back(static_cast<char16>(0xE03DU)); 235 keys.push_back(static_cast<char16>(0xE03DU));
236 CheckEventsReleaseModifiers(keys, event_array, arraysize(event_array)); 236 CheckEventsReleaseModifiers(keys, event_array, arraysize(event_array));
237 } 237 }
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
269 } 269 }
270 270
271 #if defined(OS_LINUX) 271 #if defined(OS_LINUX)
272 // Fails on bots: crbug.com/174962 272 // Fails on bots: crbug.com/174962
273 #define MAYBE_AllEnglishKeyboardSymbols DISABLED_AllEnglishKeyboardSymbols 273 #define MAYBE_AllEnglishKeyboardSymbols DISABLED_AllEnglishKeyboardSymbols
274 #else 274 #else
275 #define MAYBE_AllEnglishKeyboardSymbols AllEnglishKeyboardSymbols 275 #define MAYBE_AllEnglishKeyboardSymbols AllEnglishKeyboardSymbols
276 #endif 276 #endif
277 277
278 TEST(KeyConverter, MAYBE_AllEnglishKeyboardSymbols) { 278 TEST(KeyConverter, MAYBE_AllEnglishKeyboardSymbols) {
279 string16 keys; 279 base::string16 keys;
280 const ui::KeyboardCode kSymbolKeyCodes[] = { 280 const ui::KeyboardCode kSymbolKeyCodes[] = {
281 ui::VKEY_OEM_3, 281 ui::VKEY_OEM_3,
282 ui::VKEY_OEM_MINUS, 282 ui::VKEY_OEM_MINUS,
283 ui::VKEY_OEM_PLUS, 283 ui::VKEY_OEM_PLUS,
284 ui::VKEY_OEM_4, 284 ui::VKEY_OEM_4,
285 ui::VKEY_OEM_6, 285 ui::VKEY_OEM_6,
286 ui::VKEY_OEM_5, 286 ui::VKEY_OEM_5,
287 ui::VKEY_OEM_1, 287 ui::VKEY_OEM_1,
288 ui::VKEY_OEM_7, 288 ui::VKEY_OEM_7,
289 ui::VKEY_OEM_COMMA, 289 ui::VKEY_OEM_COMMA,
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after
337 ' ', 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x7F, ';', '=', 337 ' ', 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x7F, ';', '=',
338 #else 338 #else
339 0, 0, 0, 0, 0, 0, '\r', '\r', 0, 0, 0, 0, 0, 339 0, 0, 0, 0, 0, 0, '\r', '\r', 0, 0, 0, 0, 0,
340 ' ', 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ';', '=', 340 ' ', 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ';', '=',
341 #endif 341 #endif
342 '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 342 '0', '1', '2', '3', '4', '5', '6', '7', '8', '9',
343 '*', '+', ',', '-', '.', '/'}; 343 '*', '+', ',', '-', '.', '/'};
344 for (size_t i = 0; i <= 0x3D; ++i) { 344 for (size_t i = 0; i <= 0x3D; ++i) {
345 if (i > 0x29 && i < 0x31) 345 if (i > 0x29 && i < 0x31)
346 continue; 346 continue;
347 string16 keys; 347 base::string16 keys;
348 int modifiers = 0; 348 int modifiers = 0;
349 keys.push_back(0xE000U + i); 349 keys.push_back(0xE000U + i);
350 std::list<KeyEvent> events; 350 std::list<KeyEvent> events;
351 if (i == 1) { 351 if (i == 1) {
352 EXPECT_NE(kOk, ConvertKeysToKeyEvents(keys, 352 EXPECT_NE(kOk, ConvertKeysToKeyEvents(keys,
353 true /* release_modifiers*/, 353 true /* release_modifiers*/,
354 &modifiers, &events).code()) 354 &modifiers, &events).code())
355 << "Index: " << i; 355 << "Index: " << i;
356 EXPECT_EQ(0u, events.size()) << "Index: " << i; 356 EXPECT_EQ(0u, events.size()) << "Index: " << i;
357 } else { 357 } else {
(...skipping 20 matching lines...) Expand all
378 TEST(KeyConverter, ModifiersState) { 378 TEST(KeyConverter, ModifiersState) {
379 int shift_key_modifier = kShiftKeyModifierMask; 379 int shift_key_modifier = kShiftKeyModifierMask;
380 int control_key_modifier = shift_key_modifier | kControlKeyModifierMask; 380 int control_key_modifier = shift_key_modifier | kControlKeyModifierMask;
381 int alt_key_modifier = control_key_modifier | kAltKeyModifierMask; 381 int alt_key_modifier = control_key_modifier | kAltKeyModifierMask;
382 int meta_key_modifier = alt_key_modifier | kMetaKeyModifierMask; 382 int meta_key_modifier = alt_key_modifier | kMetaKeyModifierMask;
383 KeyEvent event_array[] = { 383 KeyEvent event_array[] = {
384 CreateKeyDownEvent(ui::VKEY_SHIFT, shift_key_modifier), 384 CreateKeyDownEvent(ui::VKEY_SHIFT, shift_key_modifier),
385 CreateKeyDownEvent(ui::VKEY_CONTROL, control_key_modifier), 385 CreateKeyDownEvent(ui::VKEY_CONTROL, control_key_modifier),
386 CreateKeyDownEvent(ui::VKEY_MENU, alt_key_modifier), 386 CreateKeyDownEvent(ui::VKEY_MENU, alt_key_modifier),
387 CreateKeyDownEvent(ui::VKEY_COMMAND, meta_key_modifier)}; 387 CreateKeyDownEvent(ui::VKEY_COMMAND, meta_key_modifier)};
388 string16 keys; 388 base::string16 keys;
389 keys.push_back(static_cast<char16>(0xE008U)); 389 keys.push_back(static_cast<char16>(0xE008U));
390 keys.push_back(static_cast<char16>(0xE009U)); 390 keys.push_back(static_cast<char16>(0xE009U));
391 keys.push_back(static_cast<char16>(0xE00AU)); 391 keys.push_back(static_cast<char16>(0xE00AU));
392 keys.push_back(static_cast<char16>(0xE03DU)); 392 keys.push_back(static_cast<char16>(0xE03DU));
393 393
394 CheckEvents(keys, event_array, false /* release_modifiers */, 394 CheckEvents(keys, event_array, false /* release_modifiers */,
395 arraysize(event_array), meta_key_modifier); 395 arraysize(event_array), meta_key_modifier);
396 } 396 }
397 397
398 TEST(KeyConverter, ReleaseModifiers) { 398 TEST(KeyConverter, ReleaseModifiers) {
399 KeyEvent event_array[] = { 399 KeyEvent event_array[] = {
400 CreateKeyDownEvent(ui::VKEY_SHIFT, kShiftKeyModifierMask), 400 CreateKeyDownEvent(ui::VKEY_SHIFT, kShiftKeyModifierMask),
401 CreateKeyDownEvent(ui::VKEY_CONTROL, 401 CreateKeyDownEvent(ui::VKEY_CONTROL,
402 kShiftKeyModifierMask | kControlKeyModifierMask), 402 kShiftKeyModifierMask | kControlKeyModifierMask),
403 CreateKeyUpEvent(ui::VKEY_SHIFT, 0), 403 CreateKeyUpEvent(ui::VKEY_SHIFT, 0),
404 CreateKeyUpEvent(ui::VKEY_CONTROL, 0)}; 404 CreateKeyUpEvent(ui::VKEY_CONTROL, 0)};
405 string16 keys; 405 base::string16 keys;
406 keys.push_back(static_cast<char16>(0xE008U)); 406 keys.push_back(static_cast<char16>(0xE008U));
407 keys.push_back(static_cast<char16>(0xE009U)); 407 keys.push_back(static_cast<char16>(0xE009U));
408 408
409 CheckEvents(keys, event_array, true /* release_modifiers */, 409 CheckEvents(keys, event_array, true /* release_modifiers */,
410 arraysize(event_array), 0); 410 arraysize(event_array), 0);
411 } 411 }
OLDNEW
« no previous file with comments | « chrome/test/chromedriver/key_converter.cc ('k') | chrome/test/chromedriver/keycode_text_conversion_mac.mm » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698