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

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

Issue 2353333002: Reland of Force U.S. English keyboard layout for TextfieldTest.KeysWithModifiersTest (Closed)
Patch Set: Use ScopedCFTypeRef instead of PlatformKeyboardLayout Created 4 years, 3 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
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 <stddef.h> 5 #include <stddef.h>
6 6
7 #include <list> 7 #include <list>
8 #include <string> 8 #include <string>
9 9
10 #include "base/macros.h" 10 #include "base/macros.h"
11 #include "base/strings/string16.h" 11 #include "base/strings/string16.h"
12 #include "base/strings/utf_string_conversions.h" 12 #include "base/strings/utf_string_conversions.h"
13 #include "build/build_config.h" 13 #include "build/build_config.h"
14 #include "chrome/test/chromedriver/chrome/status.h" 14 #include "chrome/test/chromedriver/chrome/status.h"
15 #include "chrome/test/chromedriver/chrome/ui_events.h" 15 #include "chrome/test/chromedriver/chrome/ui_events.h"
16 #include "chrome/test/chromedriver/key_converter.h" 16 #include "chrome/test/chromedriver/key_converter.h"
17 #include "chrome/test/chromedriver/test_util.h"
18 #include "testing/gtest/include/gtest/gtest.h" 17 #include "testing/gtest/include/gtest/gtest.h"
18 #include "ui/events/test/keyboard_layout.h"
19 19
20 namespace { 20 namespace {
21 21
22 void CheckEvents(const base::string16& keys, 22 void CheckEvents(const base::string16& keys,
23 KeyEvent expected_events[], 23 KeyEvent expected_events[],
24 bool release_modifiers, 24 bool release_modifiers,
25 size_t expected_size, 25 size_t expected_size,
26 int expected_modifiers) { 26 int expected_modifiers) {
27 int modifiers = 0; 27 int modifiers = 0;
28 std::list<KeyEvent> events; 28 std::list<KeyEvent> events;
(...skipping 129 matching lines...) Expand 10 before | Expand all | Expand 10 after
158 CreateKeyDownEvent(ui::VKEY_UNKNOWN, 0), 158 CreateKeyDownEvent(ui::VKEY_UNKNOWN, 0),
159 CreateCharEvent(base::WideToUTF8(L"\u00E9"), 159 CreateCharEvent(base::WideToUTF8(L"\u00E9"),
160 base::WideToUTF8(L"\u00E9"), 0), 160 base::WideToUTF8(L"\u00E9"), 0),
161 CreateKeyUpEvent(ui::VKEY_UNKNOWN, 0)}; 161 CreateKeyUpEvent(ui::VKEY_UNKNOWN, 0)};
162 CheckEventsReleaseModifiers(base::WideToUTF16(L"\u00E9"), 162 CheckEventsReleaseModifiers(base::WideToUTF16(L"\u00E9"),
163 event_array, arraysize(event_array)); 163 event_array, arraysize(event_array));
164 } 164 }
165 165
166 #if defined(OS_WIN) 166 #if defined(OS_WIN)
167 TEST(KeyConverter, NeedsCtrlAndAlt) { 167 TEST(KeyConverter, NeedsCtrlAndAlt) {
168 RestoreKeyboardLayoutOnDestruct restore;
169 int ctrl_and_alt = kControlKeyModifierMask | kAltKeyModifierMask; 168 int ctrl_and_alt = kControlKeyModifierMask | kAltKeyModifierMask;
170 KeyEvent event_array[] = { 169 KeyEvent event_array[] = {
171 CreateKeyDownEvent(ui::VKEY_CONTROL, 0), 170 CreateKeyDownEvent(ui::VKEY_CONTROL, 0),
172 CreateKeyDownEvent(ui::VKEY_MENU, 0), 171 CreateKeyDownEvent(ui::VKEY_MENU, 0),
173 CreateKeyDownEvent(ui::VKEY_Q, ctrl_and_alt), 172 CreateKeyDownEvent(ui::VKEY_Q, ctrl_and_alt),
174 CreateCharEvent("q", "@", ctrl_and_alt), 173 CreateCharEvent("q", "@", ctrl_and_alt),
175 CreateKeyUpEvent(ui::VKEY_Q, ctrl_and_alt), 174 CreateKeyUpEvent(ui::VKEY_Q, ctrl_and_alt),
176 CreateKeyUpEvent(ui::VKEY_MENU, 0), 175 CreateKeyUpEvent(ui::VKEY_MENU, 0),
177 CreateKeyUpEvent(ui::VKEY_CONTROL, 0)}; 176 CreateKeyUpEvent(ui::VKEY_CONTROL, 0)};
178 ASSERT_TRUE(SwitchKeyboardLayout("00000407")); 177 ui::ScopedKeyboardLayout keyboard_layout(ui::KEYBOARD_LAYOUT_GERMAN);
179 CheckEventsReleaseModifiers("@", event_array, arraysize(event_array)); 178 CheckEventsReleaseModifiers("@", event_array, arraysize(event_array));
180 } 179 }
181 #endif 180 #endif
182 181
183 TEST(KeyConverter, UppercaseCharDoesShift) { 182 TEST(KeyConverter, UppercaseCharDoesShift) {
184 KeyEvent event_array[] = { 183 KeyEvent event_array[] = {
185 CreateKeyDownEvent(ui::VKEY_SHIFT, 0), 184 CreateKeyDownEvent(ui::VKEY_SHIFT, 0),
186 CreateKeyDownEvent(ui::VKEY_A, kShiftKeyModifierMask), 185 CreateKeyDownEvent(ui::VKEY_A, kShiftKeyModifierMask),
187 CreateCharEvent("a", "A", kShiftKeyModifierMask), 186 CreateCharEvent("a", "A", kShiftKeyModifierMask),
188 CreateKeyUpEvent(ui::VKEY_A, kShiftKeyModifierMask), 187 CreateKeyUpEvent(ui::VKEY_A, kShiftKeyModifierMask),
(...skipping 85 matching lines...) Expand 10 before | Expand all | Expand 10 after
274 } 273 }
275 274
276 #if defined(OS_LINUX) 275 #if defined(OS_LINUX)
277 // Fails on bots: crbug.com/174962 276 // Fails on bots: crbug.com/174962
278 #define MAYBE_AllEnglishKeyboardSymbols DISABLED_AllEnglishKeyboardSymbols 277 #define MAYBE_AllEnglishKeyboardSymbols DISABLED_AllEnglishKeyboardSymbols
279 #else 278 #else
280 #define MAYBE_AllEnglishKeyboardSymbols AllEnglishKeyboardSymbols 279 #define MAYBE_AllEnglishKeyboardSymbols AllEnglishKeyboardSymbols
281 #endif 280 #endif
282 281
283 TEST(KeyConverter, MAYBE_AllEnglishKeyboardSymbols) { 282 TEST(KeyConverter, MAYBE_AllEnglishKeyboardSymbols) {
283 ui::ScopedKeyboardLayout keyboard_layout(ui::KEYBOARD_LAYOUT_ENGLISH_US);
284 base::string16 keys; 284 base::string16 keys;
285 const ui::KeyboardCode kSymbolKeyCodes[] = { 285 const ui::KeyboardCode kSymbolKeyCodes[] = {
286 ui::VKEY_OEM_3, 286 ui::VKEY_OEM_3,
287 ui::VKEY_OEM_MINUS, 287 ui::VKEY_OEM_MINUS,
288 ui::VKEY_OEM_PLUS, 288 ui::VKEY_OEM_PLUS,
289 ui::VKEY_OEM_4, 289 ui::VKEY_OEM_4,
290 ui::VKEY_OEM_6, 290 ui::VKEY_OEM_6,
291 ui::VKEY_OEM_5, 291 ui::VKEY_OEM_5,
292 ui::VKEY_OEM_1, 292 ui::VKEY_OEM_1,
293 ui::VKEY_OEM_7, 293 ui::VKEY_OEM_7,
(...skipping 113 matching lines...) Expand 10 before | Expand all | Expand 10 after
407 kShiftKeyModifierMask | kControlKeyModifierMask), 407 kShiftKeyModifierMask | kControlKeyModifierMask),
408 CreateKeyUpEvent(ui::VKEY_SHIFT, 0), 408 CreateKeyUpEvent(ui::VKEY_SHIFT, 0),
409 CreateKeyUpEvent(ui::VKEY_CONTROL, 0)}; 409 CreateKeyUpEvent(ui::VKEY_CONTROL, 0)};
410 base::string16 keys; 410 base::string16 keys;
411 keys.push_back(static_cast<base::char16>(0xE008U)); 411 keys.push_back(static_cast<base::char16>(0xE008U));
412 keys.push_back(static_cast<base::char16>(0xE009U)); 412 keys.push_back(static_cast<base::char16>(0xE009U));
413 413
414 CheckEvents(keys, event_array, true /* release_modifiers */, 414 CheckEvents(keys, event_array, true /* release_modifiers */,
415 arraysize(event_array), 0); 415 arraysize(event_array), 0);
416 } 416 }
OLDNEW
« no previous file with comments | « chrome/test/chromedriver/BUILD.gn ('k') | chrome/test/chromedriver/keycode_text_conversion_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698