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

Side by Side Diff: chrome/browser/chromeos/input_method/input_method_manager_impl_unittest.cc

Issue 1113683003: (Reland) Add programmer dvorak keyboard layout (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Update other broken tests Created 5 years, 7 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 unified diff | Download patch
OLDNEW
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 210 matching lines...) Expand 10 before | Expand all | Expand 10 after
221 ext_xkb_engine_altgr_intl.layouts.push_back("us(altgr-intl)"); 221 ext_xkb_engine_altgr_intl.layouts.push_back("us(altgr-intl)");
222 ext_xkb.engines.push_back(ext_xkb_engine_altgr_intl); 222 ext_xkb.engines.push_back(ext_xkb_engine_altgr_intl);
223 223
224 ComponentExtensionEngine ext_xkb_engine_dvorak; 224 ComponentExtensionEngine ext_xkb_engine_dvorak;
225 ext_xkb_engine_dvorak.engine_id = "xkb:us:dvorak:eng"; 225 ext_xkb_engine_dvorak.engine_id = "xkb:us:dvorak:eng";
226 ext_xkb_engine_dvorak.display_name = "xkb:us:dvorak:eng"; 226 ext_xkb_engine_dvorak.display_name = "xkb:us:dvorak:eng";
227 ext_xkb_engine_dvorak.language_codes.push_back("en-US"); 227 ext_xkb_engine_dvorak.language_codes.push_back("en-US");
228 ext_xkb_engine_dvorak.layouts.push_back("us(dvorak)"); 228 ext_xkb_engine_dvorak.layouts.push_back("us(dvorak)");
229 ext_xkb.engines.push_back(ext_xkb_engine_dvorak); 229 ext_xkb.engines.push_back(ext_xkb_engine_dvorak);
230 230
231 ComponentExtensionEngine ext_xkb_engine_dvp;
232 ext_xkb_engine_dvp.engine_id = "xkb:us:dvp:eng";
233 ext_xkb_engine_dvp.display_name = "xkb:us:dvp:eng";
234 ext_xkb_engine_dvp.language_codes.push_back("en-US");
235 ext_xkb_engine_dvp.layouts.push_back("us(dvp)");
236 ext_xkb.engines.push_back(ext_xkb_engine_dvp);
237
231 ComponentExtensionEngine ext_xkb_engine_colemak; 238 ComponentExtensionEngine ext_xkb_engine_colemak;
232 ext_xkb_engine_colemak.engine_id = "xkb:us:colemak:eng"; 239 ext_xkb_engine_colemak.engine_id = "xkb:us:colemak:eng";
233 ext_xkb_engine_colemak.display_name = "xkb:us:colemak:eng"; 240 ext_xkb_engine_colemak.display_name = "xkb:us:colemak:eng";
234 ext_xkb_engine_colemak.language_codes.push_back("en-US"); 241 ext_xkb_engine_colemak.language_codes.push_back("en-US");
235 ext_xkb_engine_colemak.layouts.push_back("us(colemak)"); 242 ext_xkb_engine_colemak.layouts.push_back("us(colemak)");
236 ext_xkb.engines.push_back(ext_xkb_engine_colemak); 243 ext_xkb.engines.push_back(ext_xkb_engine_colemak);
237 244
238 ComponentExtensionEngine ext_xkb_engine_fr; 245 ComponentExtensionEngine ext_xkb_engine_fr;
239 ext_xkb_engine_fr.engine_id = "xkb:fr::fra"; 246 ext_xkb_engine_fr.engine_id = "xkb:fr::fra";
240 ext_xkb_engine_fr.display_name = "xkb:fr::fra"; 247 ext_xkb_engine_fr.display_name = "xkb:fr::fra";
(...skipping 118 matching lines...) Expand 10 before | Expand all | Expand 10 after
359 // also for the scenario. 366 // also for the scenario.
360 std::vector<std::string> keyboard_layouts; 367 std::vector<std::string> keyboard_layouts;
361 keyboard_layouts.push_back("xkb:us::eng"); 368 keyboard_layouts.push_back("xkb:us::eng");
362 369
363 TestObserver observer; 370 TestObserver observer;
364 InitComponentExtension(); 371 InitComponentExtension();
365 manager_->AddObserver(&observer); 372 manager_->AddObserver(&observer);
366 menu_manager_->AddObserver(&observer); 373 menu_manager_->AddObserver(&observer);
367 EXPECT_EQ(0, observer.input_method_changed_count_); 374 EXPECT_EQ(0, observer.input_method_changed_count_);
368 manager_->GetActiveIMEState()->EnableLoginLayouts("en-US", keyboard_layouts); 375 manager_->GetActiveIMEState()->EnableLoginLayouts("en-US", keyboard_layouts);
369 EXPECT_EQ(5U, manager_->GetActiveIMEState()->GetActiveInputMethods()->size()); 376 EXPECT_EQ(6U, manager_->GetActiveIMEState()->GetActiveInputMethods()->size());
370 EXPECT_EQ(1, observer.input_method_changed_count_); 377 EXPECT_EQ(1, observer.input_method_changed_count_);
371 // Menu change is triggered only if current input method was actually changed. 378 // Menu change is triggered only if current input method was actually changed.
372 EXPECT_EQ(0, observer.input_method_menu_item_changed_count_); 379 EXPECT_EQ(0, observer.input_method_menu_item_changed_count_);
373 manager_->GetActiveIMEState()->ChangeInputMethod( 380 manager_->GetActiveIMEState()->ChangeInputMethod(
374 ImeIdFromEngineId("xkb:us:dvorak:eng"), false /* show_message */); 381 ImeIdFromEngineId("xkb:us:dvorak:eng"), false /* show_message */);
375 EXPECT_FALSE(observer.last_show_message_); 382 EXPECT_FALSE(observer.last_show_message_);
376 EXPECT_EQ(2, observer.input_method_changed_count_); 383 EXPECT_EQ(2, observer.input_method_changed_count_);
377 EXPECT_EQ(1, observer.input_method_menu_item_changed_count_); 384 EXPECT_EQ(1, observer.input_method_menu_item_changed_count_);
378 manager_->GetActiveIMEState()->ChangeInputMethod( 385 manager_->GetActiveIMEState()->ChangeInputMethod(
379 ImeIdFromEngineId("xkb:us:dvorak:eng"), false /* show_message */); 386 ImeIdFromEngineId("xkb:us:dvorak:eng"), false /* show_message */);
(...skipping 27 matching lines...) Expand all
407 EXPECT_TRUE(Contain(methods, *id_to_find)); 414 EXPECT_TRUE(Contain(methods, *id_to_find));
408 id_to_find = manager_->GetInputMethodUtil()->GetInputMethodDescriptorFromId( 415 id_to_find = manager_->GetInputMethodUtil()->GetInputMethodDescriptorFromId(
409 ImeIdFromEngineId("xkb:us:dvorak:eng")); 416 ImeIdFromEngineId("xkb:us:dvorak:eng"));
410 EXPECT_TRUE(Contain(methods, *id_to_find)); 417 EXPECT_TRUE(Contain(methods, *id_to_find));
411 id_to_find = manager_->GetInputMethodUtil()->GetInputMethodDescriptorFromId( 418 id_to_find = manager_->GetInputMethodUtil()->GetInputMethodDescriptorFromId(
412 ImeIdFromEngineId("xkb:fr::fra")); 419 ImeIdFromEngineId("xkb:fr::fra"));
413 EXPECT_TRUE(Contain(methods, *id_to_find)); 420 EXPECT_TRUE(Contain(methods, *id_to_find));
414 } 421 }
415 422
416 TEST_F(InputMethodManagerImplTest, TestEnableLayouts) { 423 TEST_F(InputMethodManagerImplTest, TestEnableLayouts) {
417 // Currently 5 keyboard layouts are supported for en-US, and 1 for ja. See 424 // Currently 6 keyboard layouts are supported for en-US, and 1 for ja. See
418 // ibus_input_method.txt. 425 // ibus_input_method.txt.
419 std::vector<std::string> keyboard_layouts; 426 std::vector<std::string> keyboard_layouts;
420 427
421 InitComponentExtension(); 428 InitComponentExtension();
422 manager_->GetActiveIMEState()->EnableLoginLayouts("en-US", keyboard_layouts); 429 manager_->GetActiveIMEState()->EnableLoginLayouts("en-US", keyboard_layouts);
423 EXPECT_EQ(5U, manager_->GetActiveIMEState()->GetNumActiveInputMethods()); 430 EXPECT_EQ(6U, manager_->GetActiveIMEState()->GetNumActiveInputMethods());
424 431
425 // For http://crbug.com/19655#c11 - (5) 432 // For http://crbug.com/19655#c11 - (5)
426 // The hardware keyboard layout "xkb:us::eng" is always active, hence 2U. 433 // The hardware keyboard layout "xkb:us::eng" is always active, hence 2U.
427 manager_->GetActiveIMEState()->EnableLoginLayouts( 434 manager_->GetActiveIMEState()->EnableLoginLayouts(
428 "ja", keyboard_layouts); // Japanese 435 "ja", keyboard_layouts); // Japanese
429 EXPECT_EQ(2U, manager_->GetActiveIMEState()->GetNumActiveInputMethods()); 436 EXPECT_EQ(2U, manager_->GetActiveIMEState()->GetNumActiveInputMethods());
430 } 437 }
431 438
432 TEST_F(InputMethodManagerImplTest, TestEnableLayoutsAndCurrentInputMethod) { 439 TEST_F(InputMethodManagerImplTest, TestEnableLayoutsAndCurrentInputMethod) {
433 // For http://crbug.com/329061 440 // For http://crbug.com/329061
434 std::vector<std::string> keyboard_layouts; 441 std::vector<std::string> keyboard_layouts;
435 keyboard_layouts.push_back(ImeIdFromEngineId("xkb:se::swe")); 442 keyboard_layouts.push_back(ImeIdFromEngineId("xkb:se::swe"));
436 443
437 InitComponentExtension(); 444 InitComponentExtension();
438 manager_->GetActiveIMEState()->EnableLoginLayouts("en-US", keyboard_layouts); 445 manager_->GetActiveIMEState()->EnableLoginLayouts("en-US", keyboard_layouts);
439 const std::string im_id = 446 const std::string im_id =
440 manager_->GetActiveIMEState()->GetCurrentInputMethod().id(); 447 manager_->GetActiveIMEState()->GetCurrentInputMethod().id();
441 EXPECT_EQ(ImeIdFromEngineId("xkb:se::swe"), im_id); 448 EXPECT_EQ(ImeIdFromEngineId("xkb:se::swe"), im_id);
442 } 449 }
443 450
444 TEST_F(InputMethodManagerImplTest, TestEnableLayoutsNonUsHardwareKeyboard) { 451 TEST_F(InputMethodManagerImplTest, TestEnableLayoutsNonUsHardwareKeyboard) {
445 InitComponentExtension(); 452 InitComponentExtension();
446 // The physical layout is French. 453 // The physical layout is French.
447 manager_->GetInputMethodUtil()->SetHardwareKeyboardLayoutForTesting( 454 manager_->GetInputMethodUtil()->SetHardwareKeyboardLayoutForTesting(
448 "xkb:fr::fra"); 455 "xkb:fr::fra");
449 manager_->GetActiveIMEState()->EnableLoginLayouts( 456 manager_->GetActiveIMEState()->EnableLoginLayouts(
450 "en-US", 457 "en-US",
451 manager_->GetInputMethodUtil()->GetHardwareLoginInputMethodIds()); 458 manager_->GetInputMethodUtil()->GetHardwareLoginInputMethodIds());
452 EXPECT_EQ( 459 EXPECT_EQ(
453 6U, 460 7U,
454 manager_->GetActiveIMEState()->GetNumActiveInputMethods()); // 5 + French 461 manager_->GetActiveIMEState()->GetNumActiveInputMethods()); // 6 + French
455 // The physical layout is Japanese. 462 // The physical layout is Japanese.
456 manager_->GetInputMethodUtil()->SetHardwareKeyboardLayoutForTesting( 463 manager_->GetInputMethodUtil()->SetHardwareKeyboardLayoutForTesting(
457 "xkb:jp::jpn"); 464 "xkb:jp::jpn");
458 manager_->GetActiveIMEState()->EnableLoginLayouts( 465 manager_->GetActiveIMEState()->EnableLoginLayouts(
459 "ja", manager_->GetInputMethodUtil()->GetHardwareLoginInputMethodIds()); 466 "ja", manager_->GetInputMethodUtil()->GetHardwareLoginInputMethodIds());
460 // "xkb:us::eng" is not needed, hence 1. 467 // "xkb:us::eng" is not needed, hence 1.
461 EXPECT_EQ(1U, manager_->GetActiveIMEState()->GetNumActiveInputMethods()); 468 EXPECT_EQ(1U, manager_->GetActiveIMEState()->GetNumActiveInputMethods());
462 469
463 // The physical layout is Russian. 470 // The physical layout is Russian.
464 manager_->GetInputMethodUtil()->SetHardwareKeyboardLayoutForTesting( 471 manager_->GetInputMethodUtil()->SetHardwareKeyboardLayoutForTesting(
465 "xkb:ru::rus"); 472 "xkb:ru::rus");
466 manager_->GetActiveIMEState()->EnableLoginLayouts( 473 manager_->GetActiveIMEState()->EnableLoginLayouts(
467 "ru", manager_->GetInputMethodUtil()->GetHardwareLoginInputMethodIds()); 474 "ru", manager_->GetInputMethodUtil()->GetHardwareLoginInputMethodIds());
468 // "xkb:us::eng" only. 475 // "xkb:us::eng" only.
469 EXPECT_EQ(1U, manager_->GetActiveIMEState()->GetNumActiveInputMethods()); 476 EXPECT_EQ(1U, manager_->GetActiveIMEState()->GetNumActiveInputMethods());
470 EXPECT_EQ(ImeIdFromEngineId("xkb:us::eng"), 477 EXPECT_EQ(ImeIdFromEngineId("xkb:us::eng"),
471 manager_->GetActiveIMEState()->GetActiveInputMethodIds().front()); 478 manager_->GetActiveIMEState()->GetActiveInputMethodIds().front());
472 } 479 }
473 480
474 TEST_F(InputMethodManagerImplTest, TestEnableMultipleHardwareKeyboardLayout) { 481 TEST_F(InputMethodManagerImplTest, TestEnableMultipleHardwareKeyboardLayout) {
475 InitComponentExtension(); 482 InitComponentExtension();
476 // The physical layouts are French and Hungarian. 483 // The physical layouts are French and Hungarian.
477 manager_->GetInputMethodUtil()->SetHardwareKeyboardLayoutForTesting( 484 manager_->GetInputMethodUtil()->SetHardwareKeyboardLayoutForTesting(
478 "xkb:fr::fra,xkb:hu::hun"); 485 "xkb:fr::fra,xkb:hu::hun");
479 manager_->GetActiveIMEState()->EnableLoginLayouts( 486 manager_->GetActiveIMEState()->EnableLoginLayouts(
480 "en-US", 487 "en-US",
481 manager_->GetInputMethodUtil()->GetHardwareLoginInputMethodIds()); 488 manager_->GetInputMethodUtil()->GetHardwareLoginInputMethodIds());
482 // 5 + French + Hungarian 489 // 6 + French + Hungarian
483 EXPECT_EQ(7U, manager_->GetActiveIMEState()->GetNumActiveInputMethods()); 490 EXPECT_EQ(8U, manager_->GetActiveIMEState()->GetNumActiveInputMethods());
484 } 491 }
485 492
486 TEST_F(InputMethodManagerImplTest, 493 TEST_F(InputMethodManagerImplTest,
487 TestEnableMultipleHardwareKeyboardLayout_NoLoginKeyboard) { 494 TestEnableMultipleHardwareKeyboardLayout_NoLoginKeyboard) {
488 InitComponentExtension(); 495 InitComponentExtension();
489 // The physical layouts are English (US) and Russian. 496 // The physical layouts are English (US) and Russian.
490 manager_->GetInputMethodUtil()->SetHardwareKeyboardLayoutForTesting( 497 manager_->GetInputMethodUtil()->SetHardwareKeyboardLayoutForTesting(
491 "xkb:us::eng,xkb:ru::rus"); 498 "xkb:us::eng,xkb:ru::rus");
492 manager_->GetActiveIMEState()->EnableLoginLayouts( 499 manager_->GetActiveIMEState()->EnableLoginLayouts(
493 "ru", manager_->GetInputMethodUtil()->GetHardwareLoginInputMethodIds()); 500 "ru", manager_->GetInputMethodUtil()->GetHardwareLoginInputMethodIds());
(...skipping 390 matching lines...) Expand 10 before | Expand all | Expand 10 after
884 } 891 }
885 892
886 TEST_F(InputMethodManagerImplTest, TestNextInputMethod) { 893 TEST_F(InputMethodManagerImplTest, TestNextInputMethod) {
887 TestObserver observer; 894 TestObserver observer;
888 InitComponentExtension(); 895 InitComponentExtension();
889 manager_->AddObserver(&observer); 896 manager_->AddObserver(&observer);
890 std::vector<std::string> keyboard_layouts; 897 std::vector<std::string> keyboard_layouts;
891 keyboard_layouts.push_back(ImeIdFromEngineId("xkb:us::eng")); 898 keyboard_layouts.push_back(ImeIdFromEngineId("xkb:us::eng"));
892 // For http://crbug.com/19655#c11 - (1) 899 // For http://crbug.com/19655#c11 - (1)
893 manager_->GetActiveIMEState()->EnableLoginLayouts("en-US", keyboard_layouts); 900 manager_->GetActiveIMEState()->EnableLoginLayouts("en-US", keyboard_layouts);
894 EXPECT_EQ(5U, manager_->GetActiveIMEState()->GetNumActiveInputMethods()); 901 EXPECT_EQ(6U, manager_->GetActiveIMEState()->GetNumActiveInputMethods());
895 EXPECT_EQ(ImeIdFromEngineId("xkb:us::eng"), 902 EXPECT_EQ(ImeIdFromEngineId("xkb:us::eng"),
896 manager_->GetActiveIMEState()->GetCurrentInputMethod().id()); 903 manager_->GetActiveIMEState()->GetCurrentInputMethod().id());
897 EXPECT_EQ("us", keyboard_->last_layout_); 904 EXPECT_EQ("us", keyboard_->last_layout_);
898 manager_->GetActiveIMEState()->SwitchToNextInputMethod(); 905 manager_->GetActiveIMEState()->SwitchToNextInputMethod();
899 EXPECT_TRUE(observer.last_show_message_); 906 EXPECT_TRUE(observer.last_show_message_);
900 EXPECT_EQ(ImeIdFromEngineId("xkb:us:intl:eng"), 907 EXPECT_EQ(ImeIdFromEngineId("xkb:us:intl:eng"),
901 manager_->GetActiveIMEState()->GetCurrentInputMethod().id()); 908 manager_->GetActiveIMEState()->GetCurrentInputMethod().id());
902 EXPECT_EQ("us(intl)", keyboard_->last_layout_); 909 EXPECT_EQ("us(intl)", keyboard_->last_layout_);
903 manager_->GetActiveIMEState()->SwitchToNextInputMethod(); 910 manager_->GetActiveIMEState()->SwitchToNextInputMethod();
904 EXPECT_TRUE(observer.last_show_message_); 911 EXPECT_TRUE(observer.last_show_message_);
905 EXPECT_EQ(ImeIdFromEngineId("xkb:us:altgr-intl:eng"), 912 EXPECT_EQ(ImeIdFromEngineId("xkb:us:altgr-intl:eng"),
906 manager_->GetActiveIMEState()->GetCurrentInputMethod().id()); 913 manager_->GetActiveIMEState()->GetCurrentInputMethod().id());
907 EXPECT_EQ("us(altgr-intl)", keyboard_->last_layout_); 914 EXPECT_EQ("us(altgr-intl)", keyboard_->last_layout_);
908 manager_->GetActiveIMEState()->SwitchToNextInputMethod(); 915 manager_->GetActiveIMEState()->SwitchToNextInputMethod();
909 EXPECT_TRUE(observer.last_show_message_); 916 EXPECT_TRUE(observer.last_show_message_);
910 EXPECT_EQ(ImeIdFromEngineId("xkb:us:dvorak:eng"), 917 EXPECT_EQ(ImeIdFromEngineId("xkb:us:dvorak:eng"),
911 manager_->GetActiveIMEState()->GetCurrentInputMethod().id()); 918 manager_->GetActiveIMEState()->GetCurrentInputMethod().id());
912 EXPECT_EQ("us(dvorak)", keyboard_->last_layout_); 919 EXPECT_EQ("us(dvorak)", keyboard_->last_layout_);
913 manager_->GetActiveIMEState()->SwitchToNextInputMethod(); 920 manager_->GetActiveIMEState()->SwitchToNextInputMethod();
914 EXPECT_TRUE(observer.last_show_message_); 921 EXPECT_TRUE(observer.last_show_message_);
922 EXPECT_EQ(ImeIdFromEngineId("xkb:us:dvp:eng"),
923 manager_->GetActiveIMEState()->GetCurrentInputMethod().id());
924 EXPECT_EQ("us(dvp)", keyboard_->last_layout_);
925 manager_->GetActiveIMEState()->SwitchToNextInputMethod();
926 EXPECT_TRUE(observer.last_show_message_);
915 EXPECT_EQ(ImeIdFromEngineId("xkb:us:colemak:eng"), 927 EXPECT_EQ(ImeIdFromEngineId("xkb:us:colemak:eng"),
916 manager_->GetActiveIMEState()->GetCurrentInputMethod().id()); 928 manager_->GetActiveIMEState()->GetCurrentInputMethod().id());
917 EXPECT_EQ("us(colemak)", keyboard_->last_layout_); 929 EXPECT_EQ("us(colemak)", keyboard_->last_layout_);
918 manager_->GetActiveIMEState()->SwitchToNextInputMethod(); 930 manager_->GetActiveIMEState()->SwitchToNextInputMethod();
919 EXPECT_TRUE(observer.last_show_message_); 931 EXPECT_TRUE(observer.last_show_message_);
920 EXPECT_EQ(ImeIdFromEngineId("xkb:us::eng"), 932 EXPECT_EQ(ImeIdFromEngineId("xkb:us::eng"),
921 manager_->GetActiveIMEState()->GetCurrentInputMethod().id()); 933 manager_->GetActiveIMEState()->GetCurrentInputMethod().id());
922 EXPECT_EQ("us", keyboard_->last_layout_); 934 EXPECT_EQ("us", keyboard_->last_layout_);
923 935
924 manager_->RemoveObserver(&observer); 936 manager_->RemoveObserver(&observer);
925 } 937 }
926 938
927 TEST_F(InputMethodManagerImplTest, TestPreviousInputMethod) { 939 TEST_F(InputMethodManagerImplTest, TestPreviousInputMethod) {
928 TestObserver observer; 940 TestObserver observer;
929 InitComponentExtension(); 941 InitComponentExtension();
930 manager_->AddObserver(&observer); 942 manager_->AddObserver(&observer);
931 943
932 std::vector<std::string> keyboard_layouts; 944 std::vector<std::string> keyboard_layouts;
933 keyboard_layouts.push_back(ImeIdFromEngineId("xkb:us::eng")); 945 keyboard_layouts.push_back(ImeIdFromEngineId("xkb:us::eng"));
934 manager_->GetActiveIMEState()->EnableLoginLayouts("en-US", keyboard_layouts); 946 manager_->GetActiveIMEState()->EnableLoginLayouts("en-US", keyboard_layouts);
935 EXPECT_EQ(5U, manager_->GetActiveIMEState()->GetNumActiveInputMethods()); 947 EXPECT_EQ(6U, manager_->GetActiveIMEState()->GetNumActiveInputMethods());
936 EXPECT_TRUE(manager_->GetActiveIMEState()->CanCycleInputMethod()); 948 EXPECT_TRUE(manager_->GetActiveIMEState()->CanCycleInputMethod());
937 EXPECT_EQ(ImeIdFromEngineId("xkb:us::eng"), 949 EXPECT_EQ(ImeIdFromEngineId("xkb:us::eng"),
938 manager_->GetActiveIMEState()->GetCurrentInputMethod().id()); 950 manager_->GetActiveIMEState()->GetCurrentInputMethod().id());
939 EXPECT_EQ("us", keyboard_->last_layout_); 951 EXPECT_EQ("us", keyboard_->last_layout_);
940 manager_->GetActiveIMEState()->SwitchToNextInputMethod(); 952 manager_->GetActiveIMEState()->SwitchToNextInputMethod();
941 EXPECT_TRUE(observer.last_show_message_); 953 EXPECT_TRUE(observer.last_show_message_);
942 EXPECT_EQ(ImeIdFromEngineId("xkb:us:intl:eng"), 954 EXPECT_EQ(ImeIdFromEngineId("xkb:us:intl:eng"),
943 manager_->GetActiveIMEState()->GetCurrentInputMethod().id()); 955 manager_->GetActiveIMEState()->GetCurrentInputMethod().id());
944 EXPECT_EQ("us(intl)", keyboard_->last_layout_); 956 EXPECT_EQ("us(intl)", keyboard_->last_layout_);
945 manager_->GetActiveIMEState()->SwitchToPreviousInputMethod(); 957 manager_->GetActiveIMEState()->SwitchToPreviousInputMethod();
(...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after
997 EXPECT_FALSE(manager_->GetActiveIMEState()->CanCycleInputMethod()); 1009 EXPECT_FALSE(manager_->GetActiveIMEState()->CanCycleInputMethod());
998 1010
999 manager_->RemoveObserver(&observer); 1011 manager_->RemoveObserver(&observer);
1000 } 1012 }
1001 1013
1002 TEST_F(InputMethodManagerImplTest, TestSwitchInputMethodWithUsLayouts) { 1014 TEST_F(InputMethodManagerImplTest, TestSwitchInputMethodWithUsLayouts) {
1003 InitComponentExtension(); 1015 InitComponentExtension();
1004 std::vector<std::string> keyboard_layouts; 1016 std::vector<std::string> keyboard_layouts;
1005 keyboard_layouts.push_back(ImeIdFromEngineId("xkb:us::eng")); 1017 keyboard_layouts.push_back(ImeIdFromEngineId("xkb:us::eng"));
1006 manager_->GetActiveIMEState()->EnableLoginLayouts("en-US", keyboard_layouts); 1018 manager_->GetActiveIMEState()->EnableLoginLayouts("en-US", keyboard_layouts);
1007 EXPECT_EQ(5U, manager_->GetActiveIMEState()->GetNumActiveInputMethods()); 1019 EXPECT_EQ(6U, manager_->GetActiveIMEState()->GetNumActiveInputMethods());
1008 1020
1009 // Henkan, Muhenkan, ZenkakuHankaku should be ignored when no Japanese IMEs 1021 // Henkan, Muhenkan, ZenkakuHankaku should be ignored when no Japanese IMEs
1010 // and keyboards are enabled. 1022 // and keyboards are enabled.
1011 EXPECT_FALSE(manager_->GetActiveIMEState()->CanSwitchInputMethod( 1023 EXPECT_FALSE(manager_->GetActiveIMEState()->CanSwitchInputMethod(
1012 ui::Accelerator(ui::VKEY_CONVERT, ui::EF_NONE))); 1024 ui::Accelerator(ui::VKEY_CONVERT, ui::EF_NONE)));
1013 EXPECT_FALSE(manager_->GetActiveIMEState()->CanSwitchInputMethod( 1025 EXPECT_FALSE(manager_->GetActiveIMEState()->CanSwitchInputMethod(
1014 ui::Accelerator(ui::VKEY_NONCONVERT, ui::EF_NONE))); 1026 ui::Accelerator(ui::VKEY_NONCONVERT, ui::EF_NONE)));
1015 EXPECT_FALSE(manager_->GetActiveIMEState()->CanSwitchInputMethod( 1027 EXPECT_FALSE(manager_->GetActiveIMEState()->CanSwitchInputMethod(
1016 ui::Accelerator(ui::VKEY_DBE_SBCSCHAR, ui::EF_NONE))); 1028 ui::Accelerator(ui::VKEY_DBE_SBCSCHAR, ui::EF_NONE)));
1017 EXPECT_FALSE(manager_->GetActiveIMEState()->CanSwitchInputMethod( 1029 EXPECT_FALSE(manager_->GetActiveIMEState()->CanSwitchInputMethod(
(...skipping 343 matching lines...) Expand 10 before | Expand all | Expand 10 after
1361 ASSERT_EQ(4U, input_method_ids.size()); 1373 ASSERT_EQ(4U, input_method_ids.size());
1362 1374
1363 EXPECT_EQ(ImeIdFromEngineId("xkb:us::eng"), input_method_ids[0]); 1375 EXPECT_EQ(ImeIdFromEngineId("xkb:us::eng"), input_method_ids[0]);
1364 EXPECT_EQ(ImeIdFromEngineId("xkb:fr::fra"), input_method_ids[1]); 1376 EXPECT_EQ(ImeIdFromEngineId("xkb:fr::fra"), input_method_ids[1]);
1365 EXPECT_EQ("_comp_ime_asdf_pinyin", input_method_ids[2]); 1377 EXPECT_EQ("_comp_ime_asdf_pinyin", input_method_ids[2]);
1366 EXPECT_EQ(ImeIdFromEngineId("zh-t-i0-pinyin"), input_method_ids[3]); 1378 EXPECT_EQ(ImeIdFromEngineId("zh-t-i0-pinyin"), input_method_ids[3]);
1367 } 1379 }
1368 1380
1369 } // namespace input_method 1381 } // namespace input_method
1370 } // namespace chromeos 1382 } // namespace chromeos
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698