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

Side by Side Diff: ui/events/keycodes/dom4/keycode_converter_unittest.cc

Issue 641753003: DOM Level 3 .code and .key value enumerations. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: fix accidental deletion when wrapping lines Created 6 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
« no previous file with comments | « ui/events/keycodes/dom4/keycode_converter_data.h ('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 2013 The Chromium Authors. All rights reserved. 1 // Copyright 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 "ui/events/keycodes/dom4/keycode_converter.h" 5 #include "ui/events/keycodes/dom4/keycode_converter.h"
6 6
7 #include <map> 7 #include <map>
8 8
9 #include "base/basictypes.h" 9 #include "base/basictypes.h"
10 #include "testing/gtest/include/gtest/gtest.h" 10 #include "testing/gtest/include/gtest/gtest.h"
11 #include "ui/events/keycodes/dom3/dom_code.h"
12 #include "ui/events/keycodes/dom3/dom_key.h"
11 13
12 using ui::KeycodeConverter; 14 using ui::KeycodeConverter;
13 15
14 namespace { 16 namespace {
15 17
16 #if defined(OS_WIN) 18 #if defined(OS_WIN)
17 const size_t kExpectedMappedKeyCount = 138; 19 const size_t kExpectedMappedKeyCount = 138;
18 #elif defined(OS_LINUX) 20 #elif defined(OS_LINUX)
19 const size_t kExpectedMappedKeyCount = 145; 21 const size_t kExpectedMappedKeyCount = 155;
20 #elif defined(OS_MACOSX) 22 #elif defined(OS_MACOSX)
21 const size_t kExpectedMappedKeyCount = 118; 23 const size_t kExpectedMappedKeyCount = 118;
22 #else 24 #else
23 const size_t kExpectedMappedKeyCount = 0; 25 const size_t kExpectedMappedKeyCount = 0;
24 #endif 26 #endif
25 27
26 const uint32_t kUsbNonExistentKeycode = 0xffffff; 28 const uint32_t kUsbNonExistentKeycode = 0xffffff;
27 const uint32_t kUsbUsBackslash = 0x070031; 29 const uint32_t kUsbUsBackslash = 0x070031;
28 const uint32_t kUsbNonUsHash = 0x070032; 30 const uint32_t kUsbNonUsHash = 0x070032;
29 31
(...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after
102 ui::KeycodeConverter::UsbKeycodeToNativeKeycode(kUsbNonExistentKeycode)); 104 ui::KeycodeConverter::UsbKeycodeToNativeKeycode(kUsbNonExistentKeycode));
103 } 105 }
104 106
105 TEST(UsbKeycodeMap, UsBackslashIsNonUsHash) { 107 TEST(UsbKeycodeMap, UsBackslashIsNonUsHash) {
106 // Verify that UsbKeycodeToNativeKeycode treats the non-US "hash" key 108 // Verify that UsbKeycodeToNativeKeycode treats the non-US "hash" key
107 // as equivalent to the US "backslash" key. 109 // as equivalent to the US "backslash" key.
108 EXPECT_EQ(ui::KeycodeConverter::UsbKeycodeToNativeKeycode(kUsbUsBackslash), 110 EXPECT_EQ(ui::KeycodeConverter::UsbKeycodeToNativeKeycode(kUsbUsBackslash),
109 ui::KeycodeConverter::UsbKeycodeToNativeKeycode(kUsbNonUsHash)); 111 ui::KeycodeConverter::UsbKeycodeToNativeKeycode(kUsbNonUsHash));
110 } 112 }
111 113
114 TEST(KeycodeConverter, DomCode) {
115 // Test invalid and unknown arguments to CodeStringToDomCode()
116 EXPECT_EQ(ui::DomCode::NONE,
117 ui::KeycodeConverter::CodeStringToDomCode(nullptr));
118 EXPECT_EQ(ui::DomCode::NONE, ui::KeycodeConverter::CodeStringToDomCode("-"));
119 EXPECT_EQ(ui::DomCode::NONE, ui::KeycodeConverter::CodeStringToDomCode(""));
120 // Round-trip test DOM Level 3 .code strings.
121 const ui::KeycodeMapEntry* keycode_map =
122 ui::KeycodeConverter::GetKeycodeMapForTest();
123 size_t numEntries = ui::KeycodeConverter::NumKeycodeMapEntriesForTest();
124 for (size_t i = 0; i < numEntries; ++i) {
125 SCOPED_TRACE(i);
126 const ui::KeycodeMapEntry* entry = &keycode_map[i];
127 ui::DomCode code = ui::KeycodeConverter::CodeStringToDomCode(entry->code);
128 if (entry->code) {
129 EXPECT_STREQ(entry->code,
130 ui::KeycodeConverter::DomCodeToCodeString(code));
131 } else {
132 EXPECT_EQ(static_cast<int>(ui::DomCode::NONE),
133 static_cast<int>(code));
134 }
135 }
136 }
137
138 TEST(KeycodeConverter, DomKey) {
139 // Test invalid and unknown arguments to KeyStringToDomKey()
140 EXPECT_EQ(ui::DomKey::NONE, ui::KeycodeConverter::KeyStringToDomKey(nullptr));
141 EXPECT_EQ(ui::DomKey::NONE, ui::KeycodeConverter::KeyStringToDomKey("-"));
142 // Round-trip test DOM Level 3 .key strings.
143 const char* s = nullptr;
144 for (size_t i = 0;
145 (s = ui::KeycodeConverter::DomKeyStringForTest(i)) != nullptr;
146 ++i) {
147 SCOPED_TRACE(i);
148 ui::DomKey key = ui::KeycodeConverter::KeyStringToDomKey(s);
149 if (s) {
150 EXPECT_STREQ(s, ui::KeycodeConverter::DomKeyToKeyString(key));
151 } else {
152 EXPECT_EQ(ui::DomKey::NONE, key);
153 }
154 }
155 }
156
112 } // namespace 157 } // namespace
OLDNEW
« no previous file with comments | « ui/events/keycodes/dom4/keycode_converter_data.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698