Chromium Code Reviews| 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/compiler_specific.h" | 10 #include "base/compiler_specific.h" |
| (...skipping 13 matching lines...) Expand all Loading... | |
| 24 #include "testing/gtest/include/gtest/gtest.h" | 24 #include "testing/gtest/include/gtest/gtest.h" |
| 25 #include "ui/base/accelerators/accelerator.h" | 25 #include "ui/base/accelerators/accelerator.h" |
| 26 #include "ui/base/ime/text_input_test_support.h" | 26 #include "ui/base/ime/text_input_test_support.h" |
| 27 #include "ui/base/keycodes/keyboard_codes.h" | 27 #include "ui/base/keycodes/keyboard_codes.h" |
| 28 | 28 |
| 29 namespace chromeos { | 29 namespace chromeos { |
| 30 | 30 |
| 31 namespace input_method { | 31 namespace input_method { |
| 32 namespace { | 32 namespace { |
| 33 | 33 |
| 34 bool IsContained(const InputMethodDescriptors& descriptors, | |
|
satorux1
2013/04/19 03:54:17
function comment is missing. Besides, IsContained(
Seigo Nonaka
2013/04/20 04:50:31
Done.
| |
| 35 const InputMethodDescriptor& target) { | |
| 36 for (size_t i = 0; i < descriptors.size(); ++i) { | |
| 37 if (descriptors[i].id() == target.id()) | |
| 38 return true; | |
| 39 } | |
| 40 return false; | |
| 41 } | |
| 42 | |
| 34 class InputMethodManagerImplTest : public testing::Test { | 43 class InputMethodManagerImplTest : public testing::Test { |
| 35 public: | 44 public: |
| 36 InputMethodManagerImplTest() | 45 InputMethodManagerImplTest() |
| 37 : delegate_(NULL), | 46 : delegate_(NULL), |
| 38 controller_(NULL), | 47 controller_(NULL), |
| 39 candidate_window_controller_(NULL), | 48 candidate_window_controller_(NULL), |
| 40 xkeyboard_(NULL) { | 49 xkeyboard_(NULL) { |
| 41 } | 50 } |
| 42 virtual ~InputMethodManagerImplTest() {} | 51 virtual ~InputMethodManagerImplTest() {} |
| 43 | 52 |
| (...skipping 193 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 237 } | 246 } |
| 238 | 247 |
| 239 TEST_F(InputMethodManagerImplTest, TestGetSupportedInputMethods) { | 248 TEST_F(InputMethodManagerImplTest, TestGetSupportedInputMethods) { |
| 240 scoped_ptr<InputMethodDescriptors> methods( | 249 scoped_ptr<InputMethodDescriptors> methods( |
| 241 manager_->GetSupportedInputMethods()); | 250 manager_->GetSupportedInputMethods()); |
| 242 ASSERT_TRUE(methods.get()); | 251 ASSERT_TRUE(methods.get()); |
| 243 // Try to find random 4-5 layuts and IMEs to make sure the returned list is | 252 // Try to find random 4-5 layuts and IMEs to make sure the returned list is |
| 244 // correct. | 253 // correct. |
| 245 const InputMethodDescriptor* id_to_find = | 254 const InputMethodDescriptor* id_to_find = |
| 246 manager_->GetInputMethodUtil()->GetInputMethodDescriptorFromId("mozc"); | 255 manager_->GetInputMethodUtil()->GetInputMethodDescriptorFromId("mozc"); |
| 247 EXPECT_NE(methods->end(), | |
| 248 std::find(methods->begin(), methods->end(), *id_to_find)); | |
| 249 id_to_find = manager_->GetInputMethodUtil()->GetInputMethodDescriptorFromId( | 256 id_to_find = manager_->GetInputMethodUtil()->GetInputMethodDescriptorFromId( |
| 250 "mozc-chewing"); | 257 "mozc-chewing"); |
| 258 EXPECT_TRUE(IsContained(*methods.get(), *id_to_find)); | |
| 251 id_to_find = manager_->GetInputMethodUtil()->GetInputMethodDescriptorFromId( | 259 id_to_find = manager_->GetInputMethodUtil()->GetInputMethodDescriptorFromId( |
| 252 "xkb:us::eng"); | 260 "xkb:us::eng"); |
| 253 EXPECT_NE(methods->end(), | 261 EXPECT_TRUE(IsContained(*methods.get(), *id_to_find)); |
| 254 std::find(methods->begin(), methods->end(), *id_to_find)); | |
| 255 id_to_find = manager_->GetInputMethodUtil()->GetInputMethodDescriptorFromId( | 262 id_to_find = manager_->GetInputMethodUtil()->GetInputMethodDescriptorFromId( |
| 256 "xkb:us:dvorak:eng"); | 263 "xkb:us:dvorak:eng"); |
| 257 EXPECT_NE(methods->end(), | 264 EXPECT_TRUE(IsContained(*methods.get(), *id_to_find)); |
| 258 std::find(methods->begin(), methods->end(), *id_to_find)); | |
| 259 id_to_find = manager_->GetInputMethodUtil()->GetInputMethodDescriptorFromId( | 265 id_to_find = manager_->GetInputMethodUtil()->GetInputMethodDescriptorFromId( |
| 260 "xkb:fr::fra"); | 266 "xkb:fr::fra"); |
| 261 EXPECT_NE(methods->end(), | 267 EXPECT_TRUE(IsContained(*methods.get(), *id_to_find)); |
| 262 std::find(methods->begin(), methods->end(), *id_to_find)); | |
| 263 } | 268 } |
| 264 | 269 |
| 265 TEST_F(InputMethodManagerImplTest, TestEnableLayouts) { | 270 TEST_F(InputMethodManagerImplTest, TestEnableLayouts) { |
| 266 // Currently 5 keyboard layouts are supported for en-US, and 1 for ja. See | 271 // Currently 5 keyboard layouts are supported for en-US, and 1 for ja. See |
| 267 // ibus_input_method.txt. | 272 // ibus_input_method.txt. |
| 268 ComponentExtensionInitialize(); | 273 ComponentExtensionInitialize(); |
| 269 manager_->EnableLayouts("en-US", ""); | 274 manager_->EnableLayouts("en-US", ""); |
| 270 EXPECT_EQ(5U, manager_->GetNumActiveInputMethods()); | 275 EXPECT_EQ(5U, manager_->GetNumActiveInputMethods()); |
| 271 { | 276 { |
| 272 // For http://crbug.com/19655#c11 - (1) | 277 // For http://crbug.com/19655#c11 - (1) |
| 273 scoped_ptr<InputMethodDescriptors> methods( | 278 scoped_ptr<InputMethodDescriptors> methods( |
| 274 manager_->GetActiveInputMethods()); | 279 manager_->GetActiveInputMethods()); |
| 275 const InputMethodDescriptor* id_to_find = | 280 const InputMethodDescriptor* id_to_find = |
| 276 manager_->GetInputMethodUtil()->GetInputMethodDescriptorFromId( | 281 manager_->GetInputMethodUtil()->GetInputMethodDescriptorFromId( |
| 277 "english-m"); // The "English Mystery" IME. | 282 "english-m"); // The "English Mystery" IME. |
| 278 EXPECT_EQ(methods->end(), | 283 EXPECT_FALSE(IsContained(*methods.get(), *id_to_find)); |
| 279 std::find(methods->begin(), methods->end(), *id_to_find)); | |
| 280 } | 284 } |
| 281 // For http://crbug.com/19655#c11 - (2) | 285 // For http://crbug.com/19655#c11 - (2) |
| 282 EXPECT_EQ(0, mock_ibus_daemon_controller_->start_count()); | 286 EXPECT_EQ(0, mock_ibus_daemon_controller_->start_count()); |
| 283 | 287 |
| 284 // For http://crbug.com/19655#c11 - (5) | 288 // For http://crbug.com/19655#c11 - (5) |
| 285 // The hardware keyboard layout "xkb:us::eng" is always active, hence 2U. | 289 // The hardware keyboard layout "xkb:us::eng" is always active, hence 2U. |
| 286 manager_->EnableLayouts("ja", ""); // Japanese | 290 manager_->EnableLayouts("ja", ""); // Japanese |
| 287 EXPECT_EQ(2U, manager_->GetNumActiveInputMethods()); | 291 EXPECT_EQ(2U, manager_->GetNumActiveInputMethods()); |
| 288 EXPECT_EQ(0, mock_ibus_daemon_controller_->start_count()); | 292 EXPECT_EQ(0, mock_ibus_daemon_controller_->start_count()); |
| 289 } | 293 } |
| (...skipping 13 matching lines...) Expand all Loading... | |
| 303 TEST_F(InputMethodManagerImplTest, TestActiveInputMethods) { | 307 TEST_F(InputMethodManagerImplTest, TestActiveInputMethods) { |
| 304 manager_->EnableLayouts("ko", ""); // Korean | 308 manager_->EnableLayouts("ko", ""); // Korean |
| 305 EXPECT_EQ(2U, manager_->GetNumActiveInputMethods()); | 309 EXPECT_EQ(2U, manager_->GetNumActiveInputMethods()); |
| 306 scoped_ptr<InputMethodDescriptors> methods( | 310 scoped_ptr<InputMethodDescriptors> methods( |
| 307 manager_->GetActiveInputMethods()); | 311 manager_->GetActiveInputMethods()); |
| 308 ASSERT_TRUE(methods.get()); | 312 ASSERT_TRUE(methods.get()); |
| 309 EXPECT_EQ(2U, methods->size()); | 313 EXPECT_EQ(2U, methods->size()); |
| 310 const InputMethodDescriptor* id_to_find = | 314 const InputMethodDescriptor* id_to_find = |
| 311 manager_->GetInputMethodUtil()->GetInputMethodDescriptorFromId( | 315 manager_->GetInputMethodUtil()->GetInputMethodDescriptorFromId( |
| 312 "xkb:us::eng"); | 316 "xkb:us::eng"); |
| 313 EXPECT_NE(methods->end(), | 317 EXPECT_TRUE(IsContained(*methods.get(), *id_to_find)); |
| 314 std::find(methods->begin(), methods->end(), *id_to_find)); | |
| 315 id_to_find = manager_->GetInputMethodUtil()->GetInputMethodDescriptorFromId( | 318 id_to_find = manager_->GetInputMethodUtil()->GetInputMethodDescriptorFromId( |
| 316 "xkb:kr:kr104:kor"); | 319 "xkb:kr:kr104:kor"); |
| 317 EXPECT_NE(methods->end(), | 320 EXPECT_TRUE(IsContained(*methods.get(), *id_to_find)); |
| 318 std::find(methods->begin(), methods->end(), *id_to_find)); | |
| 319 } | 321 } |
| 320 | 322 |
| 321 TEST_F(InputMethodManagerImplTest, TestSetInputMethodConfig) { | 323 TEST_F(InputMethodManagerImplTest, TestSetInputMethodConfig) { |
| 322 InputMethodConfigValue config; | 324 InputMethodConfigValue config; |
| 323 config.type = InputMethodConfigValue::kValueTypeString; | 325 config.type = InputMethodConfigValue::kValueTypeString; |
| 324 config.string_value = "string"; | 326 config.string_value = "string"; |
| 325 EXPECT_EQ(0, controller_->set_input_method_config_internal_count_); | 327 EXPECT_EQ(0, controller_->set_input_method_config_internal_count_); |
| 326 EXPECT_TRUE(manager_->SetInputMethodConfig("section", "name", config)); | 328 EXPECT_TRUE(manager_->SetInputMethodConfig("section", "name", config)); |
| 327 EXPECT_EQ(1, controller_->set_input_method_config_internal_count_); | 329 EXPECT_EQ(1, controller_->set_input_method_config_internal_count_); |
| 328 EXPECT_EQ("section", | 330 EXPECT_EQ("section", |
| (...skipping 865 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1194 EXPECT_EQ(2U, manager_->GetNumActiveInputMethods()); | 1196 EXPECT_EQ(2U, manager_->GetNumActiveInputMethods()); |
| 1195 EXPECT_EQ(1, controller_->change_input_method_count_); | 1197 EXPECT_EQ(1, controller_->change_input_method_count_); |
| 1196 EXPECT_EQ(ext_id1, controller_->change_input_method_id_); | 1198 EXPECT_EQ(ext_id1, controller_->change_input_method_id_); |
| 1197 manager_->ChangeInputMethod(ext_id2); | 1199 manager_->ChangeInputMethod(ext_id2); |
| 1198 EXPECT_EQ(2, controller_->change_input_method_count_); | 1200 EXPECT_EQ(2, controller_->change_input_method_count_); |
| 1199 EXPECT_EQ(ext_id2, controller_->change_input_method_id_); | 1201 EXPECT_EQ(ext_id2, controller_->change_input_method_id_); |
| 1200 } | 1202 } |
| 1201 | 1203 |
| 1202 } // namespace input_method | 1204 } // namespace input_method |
| 1203 } // namespace chromeos | 1205 } // namespace chromeos |
| OLD | NEW |