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

Unified Diff: ui/events/keycodes/dom/keycode_converter_unittest.cc

Issue 1287103004: Sync ui/events to chromium @ https://codereview.chromium.org/1210203002 (Closed) Base URL: https://github.com/domokit/mojo.git@master
Patch Set: rebased Created 5 years, 4 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « ui/events/keycodes/dom/keycode_converter_data.inc ('k') | ui/events/keycodes/dom4/keycode_converter.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: ui/events/keycodes/dom/keycode_converter_unittest.cc
diff --git a/ui/events/keycodes/dom4/keycode_converter_unittest.cc b/ui/events/keycodes/dom/keycode_converter_unittest.cc
similarity index 59%
rename from ui/events/keycodes/dom4/keycode_converter_unittest.cc
rename to ui/events/keycodes/dom/keycode_converter_unittest.cc
index 1c02eca3f6bd7b263e24dc465e61c72e9ae2ed0b..f5da9a09226a447f0b7f82d77038ec84f134f507 100644
--- a/ui/events/keycodes/dom4/keycode_converter_unittest.cc
+++ b/ui/events/keycodes/dom/keycode_converter_unittest.cc
@@ -2,19 +2,25 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-#include "ui/events/keycodes/dom4/keycode_converter.h"
+#include "ui/events/keycodes/dom/keycode_converter.h"
#include <map>
#include "base/basictypes.h"
#include "testing/gtest/include/gtest/gtest.h"
+#include "ui/events/keycodes/dom/dom_code.h"
+#include "ui/events/keycodes/dom/dom_key.h"
using ui::KeycodeConverter;
namespace {
-#if defined(OS_LINUX)
-const size_t kExpectedMappedKeyCount = 145;
+#if defined(OS_WIN)
+const size_t kExpectedMappedKeyCount = 138;
+#elif defined(OS_LINUX)
+const size_t kExpectedMappedKeyCount = 168;
+#elif defined(OS_MACOSX)
+const size_t kExpectedMappedKeyCount = 118;
#else
const size_t kExpectedMappedKeyCount = 0;
#endif
@@ -31,10 +37,8 @@ TEST(UsbKeycodeMap, Basic) {
keycode_map[0].usb_keycode);
EXPECT_EQ(ui::KeycodeConverter::InvalidNativeKeycode(),
keycode_map[0].native_keycode);
- EXPECT_STREQ(ui::KeycodeConverter::InvalidKeyboardEventCode(),
- "Unidentified");
EXPECT_EQ(ui::KeycodeConverter::InvalidNativeKeycode(),
- ui::KeycodeConverter::CodeToNativeKeycode("Unidentified"));
+ ui::KeycodeConverter::DomCodeToNativeKeycode(ui::DomCode::NONE));
// Verify that there are no duplicate entries in the mapping.
std::map<uint32_t, uint16_t> usb_to_native;
@@ -51,17 +55,14 @@ TEST(UsbKeycodeMap, Basic) {
entry->native_keycode,
ui::KeycodeConverter::UsbKeycodeToNativeKeycode(entry->usb_keycode));
- // Verify CodeToNativeKeycode and NativeKeycodeToCode work correctly.
+ // Verify DomCodeToNativeKeycode works correctly.
+ ui::DomCode dom_code =
+ ui::KeycodeConverter::CodeStringToDomCode(entry->code);
if (entry->code) {
EXPECT_EQ(entry->native_keycode,
- ui::KeycodeConverter::CodeToNativeKeycode(entry->code));
- EXPECT_STREQ(
- entry->code,
- ui::KeycodeConverter::NativeKeycodeToCode(entry->native_keycode));
- }
- else {
- EXPECT_EQ(ui::KeycodeConverter::InvalidNativeKeycode(),
- ui::KeycodeConverter::CodeToNativeKeycode(entry->code));
+ ui::KeycodeConverter::DomCodeToNativeKeycode(dom_code));
+ } else {
+ EXPECT_EQ(ui::DomCode::NONE, dom_code);
}
// Verify that the USB or native codes aren't duplicated.
@@ -105,4 +106,47 @@ TEST(UsbKeycodeMap, UsBackslashIsNonUsHash) {
ui::KeycodeConverter::UsbKeycodeToNativeKeycode(kUsbNonUsHash));
}
+TEST(KeycodeConverter, DomCode) {
+ // Test invalid and unknown arguments to CodeStringToDomCode()
+ EXPECT_EQ(ui::DomCode::NONE,
+ ui::KeycodeConverter::CodeStringToDomCode(nullptr));
+ EXPECT_EQ(ui::DomCode::NONE, ui::KeycodeConverter::CodeStringToDomCode("-"));
+ EXPECT_EQ(ui::DomCode::NONE, ui::KeycodeConverter::CodeStringToDomCode(""));
+ // Round-trip test DOM Level 3 .code strings.
+ const ui::KeycodeMapEntry* keycode_map =
+ ui::KeycodeConverter::GetKeycodeMapForTest();
+ size_t numEntries = ui::KeycodeConverter::NumKeycodeMapEntriesForTest();
+ for (size_t i = 0; i < numEntries; ++i) {
+ SCOPED_TRACE(i);
+ const ui::KeycodeMapEntry* entry = &keycode_map[i];
+ ui::DomCode code = ui::KeycodeConverter::CodeStringToDomCode(entry->code);
+ if (entry->code) {
+ EXPECT_STREQ(entry->code,
+ ui::KeycodeConverter::DomCodeToCodeString(code));
+ } else {
+ EXPECT_EQ(static_cast<int>(ui::DomCode::NONE),
+ static_cast<int>(code));
+ }
+ }
+}
+
+TEST(KeycodeConverter, DomKey) {
+ // Test invalid and unknown arguments to KeyStringToDomKey()
+ EXPECT_EQ(ui::DomKey::NONE, ui::KeycodeConverter::KeyStringToDomKey(nullptr));
+ EXPECT_EQ(ui::DomKey::NONE, ui::KeycodeConverter::KeyStringToDomKey("-"));
+ // Round-trip test DOM Level 3 .key strings.
+ const char* s = nullptr;
+ for (size_t i = 0;
+ (s = ui::KeycodeConverter::DomKeyStringForTest(i)) != nullptr;
+ ++i) {
+ SCOPED_TRACE(i);
+ ui::DomKey key = ui::KeycodeConverter::KeyStringToDomKey(s);
+ if (s) {
+ EXPECT_STREQ(s, ui::KeycodeConverter::DomKeyToKeyString(key));
+ } else {
+ EXPECT_EQ(ui::DomKey::NONE, key);
+ }
+ }
+}
+
} // namespace
« no previous file with comments | « ui/events/keycodes/dom/keycode_converter_data.inc ('k') | ui/events/keycodes/dom4/keycode_converter.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698