| 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 1a3fb352f79868bc4ea3cc970792f6425e68cec4..be757725160c47e767f5d80bd39b887dfdfbea2f 100644
|
| --- a/ui/events/keycodes/platform_key_map_win_unittest.cc
|
| +++ b/ui/events/keycodes/platform_key_map_win_unittest.cc
|
| @@ -19,6 +19,7 @@ namespace {
|
|
|
| const wchar_t* LAYOUT_US = L"00000409";
|
| const wchar_t* LAYOUT_FR = L"0000040c";
|
| +const wchar_t* LAYOUT_KO = L"00000412";
|
|
|
| struct TestKey {
|
| // Have to use KeyboardCode instead of DomCode because we don't know the
|
| @@ -287,4 +288,31 @@ TEST_F(PlatformKeyMapTest, NonPrintableKey) {
|
| }
|
| }
|
|
|
| +TEST_F(PlatformKeyMapTest, KoreanSpecificKeys) {
|
| + const struct TestCase {
|
| + KeyboardCode key_code;
|
| + DomKey key;
|
| + } kKoreanTestCases[] = {
|
| + {VKEY_HANGUL, DomKey::HANGUL_MODE}, {VKEY_HANJA, DomKey::HANJA_MODE},
|
| + };
|
| +
|
| + // US English should not return values for these keys.
|
| + HKL us_layout = ::LoadKeyboardLayout(LAYOUT_US, 0);
|
| + PlatformKeyMap us_keymap(us_layout);
|
| + for (const auto& test_case : kKoreanTestCases) {
|
| + EXPECT_EQ(DomKey::NONE, DomKeyFromNativeImpl(us_keymap, DomCode::NONE,
|
| + test_case.key_code, EF_NONE))
|
| + << test_case.key_code;
|
| + }
|
| +
|
| + // Korean layout should return specific DomKey.
|
| + HKL ko_layout = ::LoadKeyboardLayout(LAYOUT_KO, 0);
|
| + PlatformKeyMap ko_keymap(ko_layout);
|
| + for (const auto& test_case : kKoreanTestCases) {
|
| + EXPECT_EQ(test_case.key, DomKeyFromNativeImpl(ko_keymap, DomCode::NONE,
|
| + test_case.key_code, EF_NONE))
|
| + << test_case.key_code;
|
| + }
|
| +}
|
| +
|
| } // namespace ui
|
|
|