| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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 "chrome/browser/chromeos/input_method/input_method_manager_impl.h" | 5 #include "chrome/browser/chromeos/input_method/input_method_manager_impl.h" |
| 6 | 6 |
| 7 #include <algorithm> | 7 #include <algorithm> |
| 8 | 8 |
| 9 #include "base/basictypes.h" | 9 #include "base/basictypes.h" |
| 10 #include "base/bind.h" | 10 #include "base/bind.h" |
| (...skipping 1064 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1075 ui::Accelerator keyup_accelerator(ui::VKEY_SPACE, ui::EF_CONTROL_DOWN); | 1075 ui::Accelerator keyup_accelerator(ui::VKEY_SPACE, ui::EF_CONTROL_DOWN); |
| 1076 keyup_accelerator.set_type(ui::ET_KEY_RELEASED); | 1076 keyup_accelerator.set_type(ui::ET_KEY_RELEASED); |
| 1077 | 1077 |
| 1078 std::vector<std::string> keyboard_layouts; | 1078 std::vector<std::string> keyboard_layouts; |
| 1079 keyboard_layouts.push_back(ImeIdFromEngineId("xkb:us::eng")); | 1079 keyboard_layouts.push_back(ImeIdFromEngineId("xkb:us::eng")); |
| 1080 manager_->GetActiveIMEState()->EnableLoginLayouts("ja", keyboard_layouts); | 1080 manager_->GetActiveIMEState()->EnableLoginLayouts("ja", keyboard_layouts); |
| 1081 EXPECT_EQ(2U, manager_->GetActiveIMEState()->GetNumActiveInputMethods()); | 1081 EXPECT_EQ(2U, manager_->GetActiveIMEState()->GetNumActiveInputMethods()); |
| 1082 EXPECT_EQ(ImeIdFromEngineId("xkb:us::eng"), | 1082 EXPECT_EQ(ImeIdFromEngineId("xkb:us::eng"), |
| 1083 manager_->GetActiveIMEState()->GetCurrentInputMethod().id()); | 1083 manager_->GetActiveIMEState()->GetCurrentInputMethod().id()); |
| 1084 EXPECT_EQ("us", keyboard_->last_layout_); | 1084 EXPECT_EQ("us", keyboard_->last_layout_); |
| 1085 EXPECT_TRUE(manager_->GetActiveIMEState()->SwitchInputMethod( | 1085 EXPECT_FALSE(manager_->GetActiveIMEState()->SwitchInputMethod( |
| 1086 ui::Accelerator(ui::VKEY_NONCONVERT, ui::EF_NONE))); | 1086 ui::Accelerator(ui::VKEY_NONCONVERT, ui::EF_NONE))); |
| 1087 EXPECT_EQ(ImeIdFromEngineId("xkb:jp::jpn"), | 1087 EXPECT_EQ(ImeIdFromEngineId("xkb:jp::jpn"), |
| 1088 manager_->GetActiveIMEState()->GetCurrentInputMethod().id()); | 1088 manager_->GetActiveIMEState()->GetCurrentInputMethod().id()); |
| 1089 EXPECT_EQ("jp", keyboard_->last_layout_); | 1089 EXPECT_EQ("jp", keyboard_->last_layout_); |
| 1090 EXPECT_TRUE(manager_->GetActiveIMEState()->SwitchToPreviousInputMethod( | 1090 EXPECT_TRUE(manager_->GetActiveIMEState()->SwitchToPreviousInputMethod( |
| 1091 keydown_accelerator)); | 1091 keydown_accelerator)); |
| 1092 EXPECT_TRUE(manager_->GetActiveIMEState()->SwitchToPreviousInputMethod( | 1092 EXPECT_TRUE(manager_->GetActiveIMEState()->SwitchToPreviousInputMethod( |
| 1093 keyup_accelerator)); | 1093 keyup_accelerator)); |
| 1094 EXPECT_EQ(ImeIdFromEngineId("xkb:us::eng"), | 1094 EXPECT_EQ(ImeIdFromEngineId("xkb:us::eng"), |
| 1095 manager_->GetActiveIMEState()->GetCurrentInputMethod().id()); | 1095 manager_->GetActiveIMEState()->GetCurrentInputMethod().id()); |
| 1096 EXPECT_EQ("us", keyboard_->last_layout_); | 1096 EXPECT_EQ("us", keyboard_->last_layout_); |
| 1097 EXPECT_TRUE(manager_->GetActiveIMEState()->SwitchInputMethod( | 1097 EXPECT_FALSE(manager_->GetActiveIMEState()->SwitchInputMethod( |
| 1098 ui::Accelerator(ui::VKEY_DBE_SBCSCHAR, ui::EF_NONE))); | 1098 ui::Accelerator(ui::VKEY_DBE_SBCSCHAR, ui::EF_NONE))); |
| 1099 EXPECT_EQ(ImeIdFromEngineId("xkb:jp::jpn"), | 1099 EXPECT_EQ(ImeIdFromEngineId("xkb:jp::jpn"), |
| 1100 manager_->GetActiveIMEState()->GetCurrentInputMethod().id()); | 1100 manager_->GetActiveIMEState()->GetCurrentInputMethod().id()); |
| 1101 EXPECT_EQ("jp", keyboard_->last_layout_); | 1101 EXPECT_EQ("jp", keyboard_->last_layout_); |
| 1102 EXPECT_TRUE(manager_->GetActiveIMEState()->SwitchToPreviousInputMethod( | 1102 EXPECT_TRUE(manager_->GetActiveIMEState()->SwitchToPreviousInputMethod( |
| 1103 keydown_accelerator)); | 1103 keydown_accelerator)); |
| 1104 EXPECT_TRUE(manager_->GetActiveIMEState()->SwitchToPreviousInputMethod( | 1104 EXPECT_TRUE(manager_->GetActiveIMEState()->SwitchToPreviousInputMethod( |
| 1105 keyup_accelerator)); | 1105 keyup_accelerator)); |
| 1106 EXPECT_EQ(ImeIdFromEngineId("xkb:us::eng"), | 1106 EXPECT_EQ(ImeIdFromEngineId("xkb:us::eng"), |
| 1107 manager_->GetActiveIMEState()->GetCurrentInputMethod().id()); | 1107 manager_->GetActiveIMEState()->GetCurrentInputMethod().id()); |
| 1108 EXPECT_EQ("us", keyboard_->last_layout_); | 1108 EXPECT_EQ("us", keyboard_->last_layout_); |
| 1109 EXPECT_TRUE(manager_->GetActiveIMEState()->SwitchInputMethod( | 1109 EXPECT_FALSE(manager_->GetActiveIMEState()->SwitchInputMethod( |
| 1110 ui::Accelerator(ui::VKEY_DBE_DBCSCHAR, ui::EF_NONE))); | 1110 ui::Accelerator(ui::VKEY_DBE_DBCSCHAR, ui::EF_NONE))); |
| 1111 EXPECT_EQ(ImeIdFromEngineId("xkb:jp::jpn"), | 1111 EXPECT_EQ(ImeIdFromEngineId("xkb:jp::jpn"), |
| 1112 manager_->GetActiveIMEState()->GetCurrentInputMethod().id()); | 1112 manager_->GetActiveIMEState()->GetCurrentInputMethod().id()); |
| 1113 EXPECT_EQ("jp", keyboard_->last_layout_); | 1113 EXPECT_EQ("jp", keyboard_->last_layout_); |
| 1114 } | 1114 } |
| 1115 | 1115 |
| 1116 TEST_F(InputMethodManagerImplTest, TestSwitchInputMethodWithJpIme) { | 1116 TEST_F(InputMethodManagerImplTest, TestSwitchInputMethodWithJpIme) { |
| 1117 InitComponentExtension(); | 1117 InitComponentExtension(); |
| 1118 manager_->SetUISessionState(InputMethodManager::STATE_BROWSER_SCREEN); | 1118 manager_->SetUISessionState(InputMethodManager::STATE_BROWSER_SCREEN); |
| 1119 std::vector<std::string> ids; | 1119 std::vector<std::string> ids; |
| 1120 ids.push_back(ImeIdFromEngineId("xkb:jp::jpn")); | 1120 ids.push_back(ImeIdFromEngineId("xkb:jp::jpn")); |
| 1121 ids.push_back(ImeIdFromEngineId(kNaclMozcJpId)); | 1121 ids.push_back(ImeIdFromEngineId(kNaclMozcJpId)); |
| 1122 EXPECT_TRUE(manager_->GetActiveIMEState()->ReplaceEnabledInputMethods(ids)); | 1122 EXPECT_TRUE(manager_->GetActiveIMEState()->ReplaceEnabledInputMethods(ids)); |
| 1123 EXPECT_EQ(ImeIdFromEngineId("xkb:jp::jpn"), | 1123 EXPECT_EQ(ImeIdFromEngineId("xkb:jp::jpn"), |
| 1124 manager_->GetActiveIMEState()->GetCurrentInputMethod().id()); | 1124 manager_->GetActiveIMEState()->GetCurrentInputMethod().id()); |
| 1125 EXPECT_EQ("jp", keyboard_->last_layout_); | 1125 EXPECT_EQ("jp", keyboard_->last_layout_); |
| 1126 EXPECT_TRUE(manager_->GetActiveIMEState()->SwitchInputMethod( | 1126 EXPECT_FALSE(manager_->GetActiveIMEState()->SwitchInputMethod( |
| 1127 ui::Accelerator(ui::VKEY_DBE_DBCSCHAR, ui::EF_NONE))); | 1127 ui::Accelerator(ui::VKEY_DBE_DBCSCHAR, ui::EF_NONE))); |
| 1128 EXPECT_EQ(ImeIdFromEngineId(kNaclMozcJpId), | 1128 EXPECT_EQ(ImeIdFromEngineId(kNaclMozcJpId), |
| 1129 manager_->GetActiveIMEState()->GetCurrentInputMethod().id()); | 1129 manager_->GetActiveIMEState()->GetCurrentInputMethod().id()); |
| 1130 EXPECT_EQ("jp", keyboard_->last_layout_); | 1130 EXPECT_EQ("jp", keyboard_->last_layout_); |
| 1131 EXPECT_TRUE(manager_->GetActiveIMEState()->SwitchInputMethod( | 1131 EXPECT_FALSE(manager_->GetActiveIMEState()->SwitchInputMethod( |
| 1132 ui::Accelerator(ui::VKEY_DBE_DBCSCHAR, ui::EF_NONE))); | 1132 ui::Accelerator(ui::VKEY_DBE_DBCSCHAR, ui::EF_NONE))); |
| 1133 EXPECT_EQ(ImeIdFromEngineId("xkb:jp::jpn"), | 1133 EXPECT_EQ(ImeIdFromEngineId("xkb:jp::jpn"), |
| 1134 manager_->GetActiveIMEState()->GetCurrentInputMethod().id()); | 1134 manager_->GetActiveIMEState()->GetCurrentInputMethod().id()); |
| 1135 EXPECT_EQ("jp", keyboard_->last_layout_); | 1135 EXPECT_EQ("jp", keyboard_->last_layout_); |
| 1136 EXPECT_TRUE(manager_->GetActiveIMEState()->SwitchInputMethod( | 1136 EXPECT_FALSE(manager_->GetActiveIMEState()->SwitchInputMethod( |
| 1137 ui::Accelerator(ui::VKEY_CONVERT, ui::EF_NONE))); | 1137 ui::Accelerator(ui::VKEY_CONVERT, ui::EF_NONE))); |
| 1138 EXPECT_EQ(ImeIdFromEngineId(kNaclMozcJpId), | 1138 EXPECT_EQ(ImeIdFromEngineId(kNaclMozcJpId), |
| 1139 manager_->GetActiveIMEState()->GetCurrentInputMethod().id()); | 1139 manager_->GetActiveIMEState()->GetCurrentInputMethod().id()); |
| 1140 EXPECT_EQ("jp", keyboard_->last_layout_); | 1140 EXPECT_EQ("jp", keyboard_->last_layout_); |
| 1141 EXPECT_TRUE(manager_->GetActiveIMEState()->SwitchInputMethod( | 1141 EXPECT_FALSE(manager_->GetActiveIMEState()->SwitchInputMethod( |
| 1142 ui::Accelerator(ui::VKEY_CONVERT, ui::EF_NONE))); | 1142 ui::Accelerator(ui::VKEY_CONVERT, ui::EF_NONE))); |
| 1143 EXPECT_EQ(ImeIdFromEngineId(kNaclMozcJpId), | 1143 EXPECT_EQ(ImeIdFromEngineId(kNaclMozcJpId), |
| 1144 manager_->GetActiveIMEState()->GetCurrentInputMethod().id()); | 1144 manager_->GetActiveIMEState()->GetCurrentInputMethod().id()); |
| 1145 EXPECT_EQ("jp", keyboard_->last_layout_); | 1145 EXPECT_EQ("jp", keyboard_->last_layout_); |
| 1146 EXPECT_TRUE(manager_->GetActiveIMEState()->SwitchInputMethod( | 1146 EXPECT_FALSE(manager_->GetActiveIMEState()->SwitchInputMethod( |
| 1147 ui::Accelerator(ui::VKEY_NONCONVERT, ui::EF_NONE))); | 1147 ui::Accelerator(ui::VKEY_NONCONVERT, ui::EF_NONE))); |
| 1148 EXPECT_EQ(ImeIdFromEngineId("xkb:jp::jpn"), | 1148 EXPECT_EQ(ImeIdFromEngineId("xkb:jp::jpn"), |
| 1149 manager_->GetActiveIMEState()->GetCurrentInputMethod().id()); | 1149 manager_->GetActiveIMEState()->GetCurrentInputMethod().id()); |
| 1150 EXPECT_EQ("jp", keyboard_->last_layout_); | 1150 EXPECT_EQ("jp", keyboard_->last_layout_); |
| 1151 EXPECT_TRUE(manager_->GetActiveIMEState()->SwitchInputMethod( | 1151 EXPECT_FALSE(manager_->GetActiveIMEState()->SwitchInputMethod( |
| 1152 ui::Accelerator(ui::VKEY_NONCONVERT, ui::EF_NONE))); | 1152 ui::Accelerator(ui::VKEY_NONCONVERT, ui::EF_NONE))); |
| 1153 EXPECT_EQ(ImeIdFromEngineId("xkb:jp::jpn"), | 1153 EXPECT_EQ(ImeIdFromEngineId("xkb:jp::jpn"), |
| 1154 manager_->GetActiveIMEState()->GetCurrentInputMethod().id()); | 1154 manager_->GetActiveIMEState()->GetCurrentInputMethod().id()); |
| 1155 EXPECT_EQ("jp", keyboard_->last_layout_); | 1155 EXPECT_EQ("jp", keyboard_->last_layout_); |
| 1156 | 1156 |
| 1157 // Add Dvorak. | 1157 // Add Dvorak. |
| 1158 ids.push_back(ImeIdFromEngineId("xkb:us:dvorak:eng")); | 1158 ids.push_back(ImeIdFromEngineId("xkb:us:dvorak:eng")); |
| 1159 EXPECT_TRUE(manager_->GetActiveIMEState()->ReplaceEnabledInputMethods(ids)); | 1159 EXPECT_TRUE(manager_->GetActiveIMEState()->ReplaceEnabledInputMethods(ids)); |
| 1160 EXPECT_EQ(ImeIdFromEngineId("xkb:jp::jpn"), | 1160 EXPECT_EQ(ImeIdFromEngineId("xkb:jp::jpn"), |
| 1161 manager_->GetActiveIMEState()->GetCurrentInputMethod().id()); | 1161 manager_->GetActiveIMEState()->GetCurrentInputMethod().id()); |
| 1162 EXPECT_EQ("jp", keyboard_->last_layout_); | 1162 EXPECT_EQ("jp", keyboard_->last_layout_); |
| 1163 EXPECT_TRUE(manager_->GetActiveIMEState()->SwitchInputMethod( | 1163 EXPECT_FALSE(manager_->GetActiveIMEState()->SwitchInputMethod( |
| 1164 ui::Accelerator(ui::VKEY_DBE_SBCSCHAR, ui::EF_NONE))); | 1164 ui::Accelerator(ui::VKEY_DBE_SBCSCHAR, ui::EF_NONE))); |
| 1165 EXPECT_EQ(ImeIdFromEngineId(kNaclMozcJpId), | 1165 EXPECT_EQ(ImeIdFromEngineId(kNaclMozcJpId), |
| 1166 manager_->GetActiveIMEState()->GetCurrentInputMethod().id()); | 1166 manager_->GetActiveIMEState()->GetCurrentInputMethod().id()); |
| 1167 EXPECT_EQ("jp", keyboard_->last_layout_); | 1167 EXPECT_EQ("jp", keyboard_->last_layout_); |
| 1168 EXPECT_TRUE(manager_->GetActiveIMEState()->SwitchInputMethod( | 1168 EXPECT_FALSE(manager_->GetActiveIMEState()->SwitchInputMethod( |
| 1169 ui::Accelerator(ui::VKEY_DBE_SBCSCHAR, ui::EF_NONE))); | 1169 ui::Accelerator(ui::VKEY_DBE_SBCSCHAR, ui::EF_NONE))); |
| 1170 EXPECT_EQ(ImeIdFromEngineId("xkb:jp::jpn"), | 1170 EXPECT_EQ(ImeIdFromEngineId("xkb:jp::jpn"), |
| 1171 manager_->GetActiveIMEState()->GetCurrentInputMethod().id()); | 1171 manager_->GetActiveIMEState()->GetCurrentInputMethod().id()); |
| 1172 EXPECT_EQ("jp", keyboard_->last_layout_); | 1172 EXPECT_EQ("jp", keyboard_->last_layout_); |
| 1173 } | 1173 } |
| 1174 | 1174 |
| 1175 TEST_F(InputMethodManagerImplTest, TestAddRemoveExtensionInputMethods) { | 1175 TEST_F(InputMethodManagerImplTest, TestAddRemoveExtensionInputMethods) { |
| 1176 TestObserver observer; | 1176 TestObserver observer; |
| 1177 InitComponentExtension(); | 1177 InitComponentExtension(); |
| 1178 manager_->AddObserver(&observer); | 1178 manager_->AddObserver(&observer); |
| (...skipping 217 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1396 ASSERT_EQ(4U, input_method_ids.size()); | 1396 ASSERT_EQ(4U, input_method_ids.size()); |
| 1397 | 1397 |
| 1398 EXPECT_EQ(ImeIdFromEngineId("xkb:us::eng"), input_method_ids[0]); | 1398 EXPECT_EQ(ImeIdFromEngineId("xkb:us::eng"), input_method_ids[0]); |
| 1399 EXPECT_EQ(ImeIdFromEngineId("xkb:fr::fra"), input_method_ids[1]); | 1399 EXPECT_EQ(ImeIdFromEngineId("xkb:fr::fra"), input_method_ids[1]); |
| 1400 EXPECT_EQ("_comp_ime_asdf_pinyin", input_method_ids[2]); | 1400 EXPECT_EQ("_comp_ime_asdf_pinyin", input_method_ids[2]); |
| 1401 EXPECT_EQ(ImeIdFromEngineId("zh-t-i0-pinyin"), input_method_ids[3]); | 1401 EXPECT_EQ(ImeIdFromEngineId("zh-t-i0-pinyin"), input_method_ids[3]); |
| 1402 } | 1402 } |
| 1403 | 1403 |
| 1404 } // namespace input_method | 1404 } // namespace input_method |
| 1405 } // namespace chromeos | 1405 } // namespace chromeos |
| OLD | NEW |