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

Unified 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: Created 6 years, 2 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
Index: ui/events/keycodes/dom4/keycode_converter_unittest.cc
diff --git a/ui/events/keycodes/dom4/keycode_converter_unittest.cc b/ui/events/keycodes/dom4/keycode_converter_unittest.cc
index 0b96583617b7c09d7867583991813043ccb5a081..f405ec7bd3453d5e79897347bc72e04aae803641 100644
--- a/ui/events/keycodes/dom4/keycode_converter_unittest.cc
+++ b/ui/events/keycodes/dom4/keycode_converter_unittest.cc
@@ -8,6 +8,7 @@
#include "base/basictypes.h"
#include "testing/gtest/include/gtest/gtest.h"
+#include "ui/events/keycodes/dom4/domcode.h"
using ui::KeycodeConverter;
@@ -56,36 +57,29 @@ TEST(UsbKeycodeMap, Basic) {
ui::KeycodeConverter::UsbKeycodeToNativeKeycode(entry->usb_keycode));
// Verify CodeToNativeKeycode and NativeKeycodeToCode work correctly.
- if (entry->code) {
+ if (entry->code != ui::DOM_CODE_NONE) {
EXPECT_EQ(entry->native_keycode,
- ui::KeycodeConverter::CodeToNativeKeycode(entry->code));
- EXPECT_STREQ(
+ ui::KeycodeConverter::DomCodeToNativeKeycode(entry->code));
+ EXPECT_EQ(
entry->code,
- ui::KeycodeConverter::NativeKeycodeToCode(entry->native_keycode));
- }
- else {
+ ui::KeycodeConverter::NativeKeycodeToDomCode(entry->native_keycode));
+ } else {
EXPECT_EQ(ui::KeycodeConverter::InvalidNativeKeycode(),
- ui::KeycodeConverter::CodeToNativeKeycode(entry->code));
+ ui::KeycodeConverter::DomCodeToNativeKeycode(entry->code));
}
// Verify that the USB or native codes aren't duplicated.
EXPECT_EQ(0U, usb_to_native.count(entry->usb_keycode))
<< " duplicate of USB code 0x" << std::hex << std::setfill('0')
- << std::setw(6) << entry->usb_keycode
- << " to native 0x"
- << std::setw(4) << entry->native_keycode
- << " (previous was 0x"
- << std::setw(4) << usb_to_native[entry->usb_keycode]
- << ")";
+ << std::setw(6) << entry->usb_keycode << " to native 0x" << std::setw(4)
+ << entry->native_keycode << " (previous was 0x" << std::setw(4)
+ << usb_to_native[entry->usb_keycode] << ")";
usb_to_native[entry->usb_keycode] = entry->native_keycode;
EXPECT_EQ(0U, native_to_usb.count(entry->native_keycode))
<< " duplicate of native code 0x" << std::hex << std::setfill('0')
- << std::setw(4) << entry->native_keycode
- << " to USB 0x"
- << std::setw(6) << entry->usb_keycode
- << " (previous was 0x"
- << std::setw(6) << native_to_usb[entry->native_keycode]
- << ")";
+ << std::setw(4) << entry->native_keycode << " to USB 0x" << std::setw(6)
+ << entry->usb_keycode << " (previous was 0x" << std::setw(6)
+ << native_to_usb[entry->native_keycode] << ")";
native_to_usb[entry->native_keycode] = entry->usb_keycode;
}
ASSERT_EQ(usb_to_native.size(), native_to_usb.size());
@@ -109,4 +103,44 @@ TEST(UsbKeycodeMap, UsBackslashIsNonUsHash) {
ui::KeycodeConverter::UsbKeycodeToNativeKeycode(kUsbNonUsHash));
}
+TEST(KeycodeConverter, DomCode) {
+ size_t entries = ui::KeycodeConverter::NumDomCodeStringEntriesForTest();
+ EXPECT_NE(entries, static_cast<size_t>(0u));
+ // Test invalid and unknown arguments to CodeStringToDomCode()
+ EXPECT_EQ(ui::DOM_CODE_NONE,
+ ui::KeycodeConverter::CodeStringToDomCode(nullptr));
+ EXPECT_EQ(ui::DOM_CODE_NONE, ui::KeycodeConverter::CodeStringToDomCode("-"));
+ EXPECT_EQ(ui::DOM_CODE_NONE, ui::KeycodeConverter::CodeStringToDomCode(""));
+ // Round-trip test DOM Level 3 .code strings.
+ const char* const* string = ui::KeycodeConverter::DomCodeStringTableForTest();
+ for (size_t i = 0; i < entries; ++i) {
+ const char* s = string[i];
+ ui::DomCode code = ui::KeycodeConverter::CodeStringToDomCode(s);
+ if (s) {
+ EXPECT_STREQ(s, ui::KeycodeConverter::DomCodeToCodeString(code));
+ } else {
+ EXPECT_EQ(ui::DOM_CODE_NONE, code);
+ }
+ }
+}
+
+TEST(KeycodeConverter, DomKey) {
+ size_t entries = ui::KeycodeConverter::NumDomKeyStringEntriesForTest();
+ EXPECT_NE(entries, static_cast<size_t>(0u));
+ // Test invalid and unknown arguments to KeyStringToDomKey()
+ EXPECT_EQ(ui::DOM_KEY_NONE, ui::KeycodeConverter::KeyStringToDomKey(nullptr));
+ EXPECT_EQ(ui::DOM_KEY_NONE, ui::KeycodeConverter::KeyStringToDomKey("-"));
+ // Round-trip test DOM Level 3 .key strings.
+ const char* const* string = ui::KeycodeConverter::DomKeyStringTableForTest();
+ for (size_t i = 0; i < entries; ++i) {
+ const char* s = string[i];
+ ui::DomKey key = ui::KeycodeConverter::KeyStringToDomKey(s);
+ if (s) {
+ EXPECT_STREQ(s, ui::KeycodeConverter::DomKeyToKeyString(key));
+ } else {
+ EXPECT_EQ(ui::DOM_KEY_NONE, key);
+ }
+ }
+}
+
} // namespace

Powered by Google App Engine
This is Rietveld 408576698