| Index: ui/events/keycodes/platform_key_map_win_unittest.cc
|
| diff --git a/ui/events/keycodes/platform_key_map_win_unittest.cc b/ui/events/keycodes/platform_key_map_win_unittest.cc
|
| index 934ab00a8bbbbbf1722ff1b355d47808297b0bfd..f1be43ca4a095f201e63ac91905ee97fe0d5eb4a 100644
|
| --- a/ui/events/keycodes/platform_key_map_win_unittest.cc
|
| +++ b/ui/events/keycodes/platform_key_map_win_unittest.cc
|
| @@ -35,32 +35,47 @@ void CheckDomCodeToKeyString(const char* label,
|
| const PlatformKeyMap& keymap,
|
| const TestKey& t,
|
| HKL layout) {
|
| - int scan_code = ::MapVirtualKeyEx(t.vk, MAPVK_VK_TO_VSC, layout);
|
| + KeyboardCode vk = t.vk;
|
| + int scan_code = ::MapVirtualKeyEx(vk, MAPVK_VK_TO_VSC, layout);
|
| DomCode dom_code = KeycodeConverter::NativeKeycodeToDomCode(scan_code);
|
| - EXPECT_STREQ(t.normal, KeycodeConverter::DomKeyToKeyString(
|
| - keymap.DomCodeAndFlagsToDomKey(dom_code, EF_NONE)).c_str()
|
| - ) << label;
|
| - EXPECT_STREQ(t.shift, KeycodeConverter::DomKeyToKeyString(
|
| - keymap.DomCodeAndFlagsToDomKey(dom_code, EF_SHIFT_DOWN)).c_str()
|
| - ) << label;
|
| + EXPECT_STREQ(t.normal,
|
| + KeycodeConverter::DomKeyToKeyString(
|
| + keymap.DomCodeAndFlagsToDomKey(dom_code, vk, EF_NONE))
|
| + .c_str())
|
| + << label;
|
| + EXPECT_STREQ(t.shift,
|
| + KeycodeConverter::DomKeyToKeyString(
|
| + keymap.DomCodeAndFlagsToDomKey(dom_code, vk, EF_SHIFT_DOWN))
|
| + .c_str())
|
| + << label;
|
| EXPECT_STREQ(t.capslock, KeycodeConverter::DomKeyToKeyString(
|
| - keymap.DomCodeAndFlagsToDomKey(dom_code, EF_CAPS_LOCK_ON)).c_str()
|
| - ) << label;
|
| - EXPECT_STREQ(t.altgr, KeycodeConverter::DomKeyToKeyString(
|
| - keymap.DomCodeAndFlagsToDomKey(dom_code, EF_ALTGR_DOWN)).c_str()
|
| - ) << label;
|
| - EXPECT_STREQ(t.shift_capslock, KeycodeConverter::DomKeyToKeyString(
|
| - keymap.DomCodeAndFlagsToDomKey(dom_code,
|
| - EF_SHIFT_DOWN | EF_CAPS_LOCK_ON)).c_str()
|
| - ) << label;
|
| - EXPECT_STREQ(t.shift_altgr, KeycodeConverter::DomKeyToKeyString(
|
| - keymap.DomCodeAndFlagsToDomKey(dom_code,
|
| - EF_SHIFT_DOWN | EF_ALTGR_DOWN)).c_str()
|
| - ) << label;
|
| - EXPECT_STREQ(t.altgr_capslock, KeycodeConverter::DomKeyToKeyString(
|
| - keymap.DomCodeAndFlagsToDomKey(dom_code,
|
| - EF_ALTGR_DOWN | EF_CAPS_LOCK_ON)).c_str()
|
| - ) << label;
|
| + keymap.DomCodeAndFlagsToDomKey(dom_code, vk,
|
| + EF_CAPS_LOCK_ON))
|
| + .c_str())
|
| + << label;
|
| + EXPECT_STREQ(t.altgr,
|
| + KeycodeConverter::DomKeyToKeyString(
|
| + keymap.DomCodeAndFlagsToDomKey(dom_code, vk, EF_ALTGR_DOWN))
|
| + .c_str())
|
| + << label;
|
| + EXPECT_STREQ(t.shift_capslock,
|
| + KeycodeConverter::DomKeyToKeyString(
|
| + keymap.DomCodeAndFlagsToDomKey(
|
| + dom_code, vk, EF_SHIFT_DOWN | EF_CAPS_LOCK_ON))
|
| + .c_str())
|
| + << label;
|
| + EXPECT_STREQ(t.shift_altgr,
|
| + KeycodeConverter::DomKeyToKeyString(
|
| + keymap.DomCodeAndFlagsToDomKey(
|
| + dom_code, vk, EF_SHIFT_DOWN | EF_ALTGR_DOWN))
|
| + .c_str())
|
| + << label;
|
| + EXPECT_STREQ(t.altgr_capslock,
|
| + KeycodeConverter::DomKeyToKeyString(
|
| + keymap.DomCodeAndFlagsToDomKey(
|
| + dom_code, vk, EF_ALTGR_DOWN | EF_CAPS_LOCK_ON))
|
| + .c_str())
|
| + << label;
|
| }
|
|
|
| } // anonymous namespace
|
| @@ -171,4 +186,54 @@ TEST_F(PlatformKeyMapTest, FRLayout) {
|
| }
|
| }
|
|
|
| +TEST_F(PlatformKeyMapTest, NumPad) {
|
| + HKL layout = ::LoadKeyboardLayout(LAYOUT_US, 0);
|
| + PlatformKeyMap keymap(layout);
|
| +
|
| + const struct TestCase {
|
| + KeyboardCode vk;
|
| + DomKey key;
|
| + } NumPadKeys[] = {
|
| + {VKEY_NUMPAD0, DomKey::FromCharacter('0')},
|
| + {VKEY_NUMPAD1, DomKey::FromCharacter('1')},
|
| + {VKEY_NUMPAD2, DomKey::FromCharacter('2')},
|
| + {VKEY_NUMPAD3, DomKey::FromCharacter('3')},
|
| + {VKEY_NUMPAD4, DomKey::FromCharacter('4')},
|
| + {VKEY_NUMPAD5, DomKey::FromCharacter('5')},
|
| + {VKEY_NUMPAD6, DomKey::FromCharacter('6')},
|
| + {VKEY_NUMPAD7, DomKey::FromCharacter('7')},
|
| + {VKEY_NUMPAD8, DomKey::FromCharacter('8')},
|
| + {VKEY_NUMPAD9, DomKey::FromCharacter('9')},
|
| + {VKEY_CLEAR, DomKey::CLEAR},
|
| + {VKEY_PRIOR, DomKey::PAGE_UP},
|
| + {VKEY_NEXT, DomKey::PAGE_DOWN},
|
| + {VKEY_END, DomKey::END},
|
| + {VKEY_HOME, DomKey::HOME},
|
| + {VKEY_LEFT, DomKey::ARROW_LEFT},
|
| + {VKEY_UP, DomKey::ARROW_UP},
|
| + {VKEY_RIGHT, DomKey::ARROW_RIGHT},
|
| + {VKEY_DOWN, DomKey::ARROW_DOWN},
|
| + {VKEY_INSERT, DomKey::INSERT},
|
| + {VKEY_DELETE, DomKey::DEL},
|
| + };
|
| +
|
| + for (const auto& k : NumPadKeys) {
|
| + KeyboardCode vk = k.vk;
|
| + int scan_code = ::MapVirtualKeyEx(vk, MAPVK_VK_TO_VSC, layout);
|
| + DomCode dom_code = KeycodeConverter::NativeKeycodeToDomCode(scan_code);
|
| +
|
| + EXPECT_EQ(k.key, keymap.DomCodeAndFlagsToDomKey(dom_code, vk, EF_NONE))
|
| + << vk;
|
| + EXPECT_EQ(k.key,
|
| + keymap.DomCodeAndFlagsToDomKey(dom_code, vk, EF_ALTGR_DOWN))
|
| + << vk;
|
| + EXPECT_EQ(k.key,
|
| + keymap.DomCodeAndFlagsToDomKey(dom_code, vk, EF_CONTROL_DOWN))
|
| + << vk;
|
| + EXPECT_EQ(k.key, keymap.DomCodeAndFlagsToDomKey(
|
| + dom_code, vk, EF_ALTGR_DOWN | EF_CONTROL_DOWN))
|
| + << vk;
|
| + }
|
| +}
|
| +
|
| } // namespace ui
|
|
|