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

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

Issue 419293002: IME refactoring: ChromeOS introduce input methods State. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 years, 4 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 "ash/ime/input_method_menu_item.h" 9 #include "ash/ime/input_method_menu_item.h"
10 #include "ash/ime/input_method_menu_manager.h" 10 #include "ash/ime/input_method_menu_manager.h"
(...skipping 484 matching lines...) Expand 10 before | Expand all | Expand 10 after
495 id_to_find = manager_->GetInputMethodUtil()->GetInputMethodDescriptorFromId( 495 id_to_find = manager_->GetInputMethodUtil()->GetInputMethodDescriptorFromId(
496 ImeIdFromEngineId("xkb:jp::jpn")); 496 ImeIdFromEngineId("xkb:jp::jpn"));
497 EXPECT_TRUE(id_to_find && Contain(*methods.get(), *id_to_find)); 497 EXPECT_TRUE(id_to_find && Contain(*methods.get(), *id_to_find));
498 } 498 }
499 499
500 TEST_F(InputMethodManagerImplTest, TestEnableTwoLayouts) { 500 TEST_F(InputMethodManagerImplTest, TestEnableTwoLayouts) {
501 // For http://crbug.com/19655#c11 - (8), step 6. 501 // For http://crbug.com/19655#c11 - (8), step 6.
502 TestObserver observer; 502 TestObserver observer;
503 manager_->AddObserver(&observer); 503 manager_->AddObserver(&observer);
504 InitComponentExtension(); 504 InitComponentExtension();
505 manager_->SetState(InputMethodManager::STATE_BROWSER_SCREEN); 505 manager_->SetUIState(InputMethodManager::STATE_BROWSER_SCREEN);
506 std::vector<std::string> ids; 506 std::vector<std::string> ids;
507 ids.push_back(ImeIdFromEngineId("xkb:us:dvorak:eng")); 507 ids.push_back(ImeIdFromEngineId("xkb:us:dvorak:eng"));
508 ids.push_back(ImeIdFromEngineId("xkb:us:colemak:eng")); 508 ids.push_back(ImeIdFromEngineId("xkb:us:colemak:eng"));
509 EXPECT_TRUE(manager_->ReplaceEnabledInputMethods(ids)); 509 EXPECT_TRUE(manager_->ReplaceEnabledInputMethods(ids));
510 EXPECT_EQ(2U, manager_->GetNumActiveInputMethods()); 510 EXPECT_EQ(2U, manager_->GetNumActiveInputMethods());
511 // Since all the IDs added avobe are keyboard layouts, Start() should not be 511 // Since all the IDs added avobe are keyboard layouts, Start() should not be
512 // called. 512 // called.
513 EXPECT_EQ(1, observer.input_method_changed_count_); 513 EXPECT_EQ(1, observer.input_method_changed_count_);
514 EXPECT_EQ(ImeIdFromEngineId(ids[0]), manager_->GetCurrentInputMethod().id()); 514 EXPECT_EQ(ImeIdFromEngineId(ids[0]), manager_->GetCurrentInputMethod().id());
515 EXPECT_EQ("us(dvorak)", keyboard_->last_layout_); 515 EXPECT_EQ("us(dvorak)", keyboard_->last_layout_);
516 // Disable Dvorak. 516 // Disable Dvorak.
517 ids.erase(ids.begin()); 517 ids.erase(ids.begin());
518 EXPECT_TRUE(manager_->ReplaceEnabledInputMethods(ids)); 518 EXPECT_TRUE(manager_->ReplaceEnabledInputMethods(ids));
519 EXPECT_EQ(1U, manager_->GetNumActiveInputMethods()); 519 EXPECT_EQ(1U, manager_->GetNumActiveInputMethods());
520 EXPECT_EQ(2, observer.input_method_changed_count_); 520 EXPECT_EQ(2, observer.input_method_changed_count_);
521 EXPECT_EQ(ImeIdFromEngineId(ids[0]), // colemak 521 EXPECT_EQ(ImeIdFromEngineId(ids[0]), // colemak
522 manager_->GetCurrentInputMethod().id()); 522 manager_->GetCurrentInputMethod().id());
523 EXPECT_EQ("us(colemak)", keyboard_->last_layout_); 523 EXPECT_EQ("us(colemak)", keyboard_->last_layout_);
524 manager_->RemoveObserver(&observer); 524 manager_->RemoveObserver(&observer);
525 } 525 }
526 526
527 TEST_F(InputMethodManagerImplTest, TestEnableThreeLayouts) { 527 TEST_F(InputMethodManagerImplTest, TestEnableThreeLayouts) {
528 // For http://crbug.com/19655#c11 - (9). 528 // For http://crbug.com/19655#c11 - (9).
529 TestObserver observer; 529 TestObserver observer;
530 manager_->AddObserver(&observer); 530 manager_->AddObserver(&observer);
531 InitComponentExtension(); 531 InitComponentExtension();
532 manager_->SetState(InputMethodManager::STATE_BROWSER_SCREEN); 532 manager_->SetUIState(InputMethodManager::STATE_BROWSER_SCREEN);
533 std::vector<std::string> ids; 533 std::vector<std::string> ids;
534 ids.push_back(ImeIdFromEngineId("xkb:us::eng")); 534 ids.push_back(ImeIdFromEngineId("xkb:us::eng"));
535 ids.push_back(ImeIdFromEngineId("xkb:us:dvorak:eng")); 535 ids.push_back(ImeIdFromEngineId("xkb:us:dvorak:eng"));
536 ids.push_back(ImeIdFromEngineId("xkb:us:colemak:eng")); 536 ids.push_back(ImeIdFromEngineId("xkb:us:colemak:eng"));
537 EXPECT_TRUE(manager_->ReplaceEnabledInputMethods(ids)); 537 EXPECT_TRUE(manager_->ReplaceEnabledInputMethods(ids));
538 EXPECT_EQ(3U, manager_->GetNumActiveInputMethods()); 538 EXPECT_EQ(3U, manager_->GetNumActiveInputMethods());
539 EXPECT_EQ(1, observer.input_method_changed_count_); 539 EXPECT_EQ(1, observer.input_method_changed_count_);
540 EXPECT_EQ(ImeIdFromEngineId(ids[0]), manager_->GetCurrentInputMethod().id()); 540 EXPECT_EQ(ImeIdFromEngineId(ids[0]), manager_->GetCurrentInputMethod().id());
541 EXPECT_EQ("us", keyboard_->last_layout_); 541 EXPECT_EQ("us", keyboard_->last_layout_);
542 // Switch to Dvorak. 542 // Switch to Dvorak.
(...skipping 10 matching lines...) Expand all
553 manager_->GetCurrentInputMethod().id()); 553 manager_->GetCurrentInputMethod().id());
554 EXPECT_EQ("us", keyboard_->last_layout_); 554 EXPECT_EQ("us", keyboard_->last_layout_);
555 manager_->RemoveObserver(&observer); 555 manager_->RemoveObserver(&observer);
556 } 556 }
557 557
558 TEST_F(InputMethodManagerImplTest, TestEnableLayoutAndIme) { 558 TEST_F(InputMethodManagerImplTest, TestEnableLayoutAndIme) {
559 // For http://crbug.com/19655#c11 - (10). 559 // For http://crbug.com/19655#c11 - (10).
560 TestObserver observer; 560 TestObserver observer;
561 manager_->AddObserver(&observer); 561 manager_->AddObserver(&observer);
562 InitComponentExtension(); 562 InitComponentExtension();
563 manager_->SetState(InputMethodManager::STATE_BROWSER_SCREEN); 563 manager_->SetUIState(InputMethodManager::STATE_BROWSER_SCREEN);
564 std::vector<std::string> ids; 564 std::vector<std::string> ids;
565 ids.push_back(ImeIdFromEngineId("xkb:us:dvorak:eng")); 565 ids.push_back(ImeIdFromEngineId("xkb:us:dvorak:eng"));
566 ids.push_back(ImeIdFromEngineId(kNaclMozcUsId)); 566 ids.push_back(ImeIdFromEngineId(kNaclMozcUsId));
567 EXPECT_TRUE(manager_->ReplaceEnabledInputMethods(ids)); 567 EXPECT_TRUE(manager_->ReplaceEnabledInputMethods(ids));
568 EXPECT_EQ(1, observer.input_method_changed_count_); 568 EXPECT_EQ(1, observer.input_method_changed_count_);
569 EXPECT_EQ(ImeIdFromEngineId(ids[0]), manager_->GetCurrentInputMethod().id()); 569 EXPECT_EQ(ImeIdFromEngineId(ids[0]), manager_->GetCurrentInputMethod().id());
570 EXPECT_EQ("us(dvorak)", keyboard_->last_layout_); 570 EXPECT_EQ("us(dvorak)", keyboard_->last_layout_);
571 // Switch to Mozc 571 // Switch to Mozc
572 manager_->SwitchToNextInputMethod(); 572 manager_->SwitchToNextInputMethod();
573 EXPECT_EQ(2, observer.input_method_changed_count_); 573 EXPECT_EQ(2, observer.input_method_changed_count_);
574 EXPECT_EQ(ImeIdFromEngineId(ids[1]), manager_->GetCurrentInputMethod().id()); 574 EXPECT_EQ(ImeIdFromEngineId(ids[1]), manager_->GetCurrentInputMethod().id());
575 EXPECT_EQ("us", keyboard_->last_layout_); 575 EXPECT_EQ("us", keyboard_->last_layout_);
576 // Disable Mozc. 576 // Disable Mozc.
577 ids.erase(ids.begin() + 1); 577 ids.erase(ids.begin() + 1);
578 EXPECT_TRUE(manager_->ReplaceEnabledInputMethods(ids)); 578 EXPECT_TRUE(manager_->ReplaceEnabledInputMethods(ids));
579 EXPECT_EQ(1U, manager_->GetNumActiveInputMethods()); 579 EXPECT_EQ(1U, manager_->GetNumActiveInputMethods());
580 EXPECT_EQ(ImeIdFromEngineId(ids[0]), manager_->GetCurrentInputMethod().id()); 580 EXPECT_EQ(ImeIdFromEngineId(ids[0]), manager_->GetCurrentInputMethod().id());
581 EXPECT_EQ("us(dvorak)", keyboard_->last_layout_); 581 EXPECT_EQ("us(dvorak)", keyboard_->last_layout_);
582 } 582 }
583 583
584 TEST_F(InputMethodManagerImplTest, TestEnableLayoutAndIme2) { 584 TEST_F(InputMethodManagerImplTest, TestEnableLayoutAndIme2) {
585 // For http://crbug.com/19655#c11 - (11). 585 // For http://crbug.com/19655#c11 - (11).
586 TestObserver observer; 586 TestObserver observer;
587 manager_->AddObserver(&observer); 587 manager_->AddObserver(&observer);
588 InitComponentExtension(); 588 InitComponentExtension();
589 manager_->SetState(InputMethodManager::STATE_BROWSER_SCREEN); 589 manager_->SetUIState(InputMethodManager::STATE_BROWSER_SCREEN);
590 std::vector<std::string> ids; 590 std::vector<std::string> ids;
591 ids.push_back(ImeIdFromEngineId("xkb:us:dvorak:eng")); 591 ids.push_back(ImeIdFromEngineId("xkb:us:dvorak:eng"));
592 ids.push_back(ImeIdFromEngineId(kNaclMozcUsId)); 592 ids.push_back(ImeIdFromEngineId(kNaclMozcUsId));
593 EXPECT_TRUE(manager_->ReplaceEnabledInputMethods(ids)); 593 EXPECT_TRUE(manager_->ReplaceEnabledInputMethods(ids));
594 EXPECT_EQ(1, observer.input_method_changed_count_); 594 EXPECT_EQ(1, observer.input_method_changed_count_);
595 EXPECT_EQ(ImeIdFromEngineId(ids[0]), manager_->GetCurrentInputMethod().id()); 595 EXPECT_EQ(ImeIdFromEngineId(ids[0]), manager_->GetCurrentInputMethod().id());
596 EXPECT_EQ("us(dvorak)", keyboard_->last_layout_); 596 EXPECT_EQ("us(dvorak)", keyboard_->last_layout_);
597 597
598 // Disable Dvorak. 598 // Disable Dvorak.
599 ids.erase(ids.begin()); 599 ids.erase(ids.begin());
600 EXPECT_TRUE(manager_->ReplaceEnabledInputMethods(ids)); 600 EXPECT_TRUE(manager_->ReplaceEnabledInputMethods(ids));
601 EXPECT_EQ(1U, manager_->GetNumActiveInputMethods()); 601 EXPECT_EQ(1U, manager_->GetNumActiveInputMethods());
602 EXPECT_EQ(ImeIdFromEngineId(ids[0]), // Mozc 602 EXPECT_EQ(ImeIdFromEngineId(ids[0]), // Mozc
603 manager_->GetCurrentInputMethod().id()); 603 manager_->GetCurrentInputMethod().id());
604 EXPECT_EQ("us", keyboard_->last_layout_); 604 EXPECT_EQ("us", keyboard_->last_layout_);
605 manager_->RemoveObserver(&observer); 605 manager_->RemoveObserver(&observer);
606 } 606 }
607 607
608 TEST_F(InputMethodManagerImplTest, TestEnableImes) { 608 TEST_F(InputMethodManagerImplTest, TestEnableImes) {
609 TestObserver observer; 609 TestObserver observer;
610 manager_->AddObserver(&observer); 610 manager_->AddObserver(&observer);
611 InitComponentExtension(); 611 InitComponentExtension();
612 manager_->SetState(InputMethodManager::STATE_BROWSER_SCREEN); 612 manager_->SetUIState(InputMethodManager::STATE_BROWSER_SCREEN);
613 std::vector<std::string> ids; 613 std::vector<std::string> ids;
614 ids.push_back(ImeIdFromEngineId(kExt2Engine1Id)); 614 ids.push_back(ImeIdFromEngineId(kExt2Engine1Id));
615 ids.push_back("mozc-dv"); 615 ids.push_back("mozc-dv");
616 EXPECT_TRUE(manager_->ReplaceEnabledInputMethods(ids)); 616 EXPECT_TRUE(manager_->ReplaceEnabledInputMethods(ids));
617 EXPECT_EQ(1, observer.input_method_changed_count_); 617 EXPECT_EQ(1, observer.input_method_changed_count_);
618 EXPECT_EQ(ImeIdFromEngineId(ids[0]), manager_->GetCurrentInputMethod().id()); 618 EXPECT_EQ(ImeIdFromEngineId(ids[0]), manager_->GetCurrentInputMethod().id());
619 EXPECT_EQ("us", keyboard_->last_layout_); 619 EXPECT_EQ("us", keyboard_->last_layout_);
620 manager_->RemoveObserver(&observer); 620 manager_->RemoveObserver(&observer);
621 } 621 }
622 622
623 TEST_F(InputMethodManagerImplTest, TestEnableUnknownIds) { 623 TEST_F(InputMethodManagerImplTest, TestEnableUnknownIds) {
624 TestObserver observer; 624 TestObserver observer;
625 manager_->AddObserver(&observer); 625 manager_->AddObserver(&observer);
626 manager_->SetState(InputMethodManager::STATE_BROWSER_SCREEN); 626 manager_->SetUIState(InputMethodManager::STATE_BROWSER_SCREEN);
627 std::vector<std::string> ids; 627 std::vector<std::string> ids;
628 ids.push_back("xkb:tl::tlh"); // Klingon, which is not supported. 628 ids.push_back("xkb:tl::tlh"); // Klingon, which is not supported.
629 ids.push_back("unknown-super-cool-ime"); 629 ids.push_back("unknown-super-cool-ime");
630 EXPECT_FALSE(manager_->ReplaceEnabledInputMethods(ids)); 630 EXPECT_FALSE(manager_->ReplaceEnabledInputMethods(ids));
631 631
632 // TODO(yusukes): Should we fall back to the hardware keyboard layout in this 632 // TODO(yusukes): Should we fall back to the hardware keyboard layout in this
633 // case? 633 // case?
634 EXPECT_EQ(0, observer.input_method_changed_count_); 634 EXPECT_EQ(0, observer.input_method_changed_count_);
635 635
636 manager_->RemoveObserver(&observer); 636 manager_->RemoveObserver(&observer);
637 } 637 }
638 638
639 TEST_F(InputMethodManagerImplTest, TestEnableLayoutsThenLock) { 639 TEST_F(InputMethodManagerImplTest, TestEnableLayoutsThenLock) {
640 // For http://crbug.com/19655#c11 - (14). 640 // For http://crbug.com/19655#c11 - (14).
641 TestObserver observer; 641 TestObserver observer;
642 manager_->AddObserver(&observer); 642 manager_->AddObserver(&observer);
643 InitComponentExtension(); 643 InitComponentExtension();
644 manager_->SetState(InputMethodManager::STATE_BROWSER_SCREEN); 644 manager_->SetUIState(InputMethodManager::STATE_BROWSER_SCREEN);
645 std::vector<std::string> ids; 645 std::vector<std::string> ids;
646 ids.push_back(ImeIdFromEngineId("xkb:us::eng")); 646 ids.push_back(ImeIdFromEngineId("xkb:us::eng"));
647 ids.push_back(ImeIdFromEngineId("xkb:us:dvorak:eng")); 647 ids.push_back(ImeIdFromEngineId("xkb:us:dvorak:eng"));
648 EXPECT_TRUE(manager_->ReplaceEnabledInputMethods(ids)); 648 EXPECT_TRUE(manager_->ReplaceEnabledInputMethods(ids));
649 EXPECT_EQ(2U, manager_->GetNumActiveInputMethods()); 649 EXPECT_EQ(2U, manager_->GetNumActiveInputMethods());
650 EXPECT_EQ(1, observer.input_method_changed_count_); 650 EXPECT_EQ(1, observer.input_method_changed_count_);
651 EXPECT_EQ(ImeIdFromEngineId(ids[0]), manager_->GetCurrentInputMethod().id()); 651 EXPECT_EQ(ImeIdFromEngineId(ids[0]), manager_->GetCurrentInputMethod().id());
652 EXPECT_EQ("us", keyboard_->last_layout_); 652 EXPECT_EQ("us", keyboard_->last_layout_);
653 653
654 // Switch to Dvorak. 654 // Switch to Dvorak.
655 manager_->SwitchToNextInputMethod(); 655 manager_->SwitchToNextInputMethod();
656 EXPECT_EQ(2, observer.input_method_changed_count_); 656 EXPECT_EQ(2, observer.input_method_changed_count_);
657 EXPECT_EQ(ImeIdFromEngineId(ids[1]), manager_->GetCurrentInputMethod().id()); 657 EXPECT_EQ(ImeIdFromEngineId(ids[1]), manager_->GetCurrentInputMethod().id());
658 EXPECT_EQ("us(dvorak)", keyboard_->last_layout_); 658 EXPECT_EQ("us(dvorak)", keyboard_->last_layout_);
659 659
660 // Lock screen 660 // Lock screen
661 manager_->SetState(InputMethodManager::STATE_LOCK_SCREEN); 661 manager_->SetUIState(InputMethodManager::STATE_LOCK_SCREEN);
662 EXPECT_EQ(2U, manager_->GetNumActiveInputMethods()); 662 EXPECT_EQ(2U, manager_->GetNumActiveInputMethods());
663 EXPECT_EQ(ImeIdFromEngineId(ids[1]), // still Dvorak 663 EXPECT_EQ(ImeIdFromEngineId(ids[1]), // still Dvorak
664 manager_->GetCurrentInputMethod().id()); 664 manager_->GetCurrentInputMethod().id());
665 EXPECT_EQ("us(dvorak)", keyboard_->last_layout_); 665 EXPECT_EQ("us(dvorak)", keyboard_->last_layout_);
666 // Switch back to Qwerty. 666 // Switch back to Qwerty.
667 manager_->SwitchToNextInputMethod(); 667 manager_->SwitchToNextInputMethod();
668 EXPECT_EQ(ImeIdFromEngineId(ids[0]), manager_->GetCurrentInputMethod().id()); 668 EXPECT_EQ(ImeIdFromEngineId(ids[0]), manager_->GetCurrentInputMethod().id());
669 EXPECT_EQ("us", keyboard_->last_layout_); 669 EXPECT_EQ("us", keyboard_->last_layout_);
670 670
671 // Unlock screen. The original state, Dvorak, is restored. 671 // Unlock screen. The original state, Dvorak, is restored.
672 manager_->SetState(InputMethodManager::STATE_BROWSER_SCREEN); 672 manager_->SetUIState(InputMethodManager::STATE_BROWSER_SCREEN);
673 EXPECT_EQ(2U, manager_->GetNumActiveInputMethods()); 673 EXPECT_EQ(2U, manager_->GetNumActiveInputMethods());
674 EXPECT_EQ(ImeIdFromEngineId(ids[1]), manager_->GetCurrentInputMethod().id()); 674 EXPECT_EQ(ImeIdFromEngineId(ids[1]), manager_->GetCurrentInputMethod().id());
675 EXPECT_EQ("us(dvorak)", keyboard_->last_layout_); 675 EXPECT_EQ("us(dvorak)", keyboard_->last_layout_);
676 676
677 manager_->RemoveObserver(&observer); 677 manager_->RemoveObserver(&observer);
678 } 678 }
679 679
680 TEST_F(InputMethodManagerImplTest, SwitchInputMethodTest) { 680 TEST_F(InputMethodManagerImplTest, SwitchInputMethodTest) {
681 // For http://crbug.com/19655#c11 - (15). 681 // For http://crbug.com/19655#c11 - (15).
682 TestObserver observer; 682 TestObserver observer;
683 manager_->AddObserver(&observer); 683 manager_->AddObserver(&observer);
684 InitComponentExtension(); 684 InitComponentExtension();
685 manager_->SetState(InputMethodManager::STATE_BROWSER_SCREEN); 685 manager_->SetUIState(InputMethodManager::STATE_BROWSER_SCREEN);
686 std::vector<std::string> ids; 686 std::vector<std::string> ids;
687 ids.push_back(ImeIdFromEngineId("xkb:us:dvorak:eng")); 687 ids.push_back(ImeIdFromEngineId("xkb:us:dvorak:eng"));
688 ids.push_back(ImeIdFromEngineId(kExt2Engine2Id)); 688 ids.push_back(ImeIdFromEngineId(kExt2Engine2Id));
689 ids.push_back(ImeIdFromEngineId(kExt2Engine1Id)); 689 ids.push_back(ImeIdFromEngineId(kExt2Engine1Id));
690 EXPECT_TRUE(manager_->ReplaceEnabledInputMethods(ids)); 690 EXPECT_TRUE(manager_->ReplaceEnabledInputMethods(ids));
691 EXPECT_EQ(3U, manager_->GetNumActiveInputMethods()); 691 EXPECT_EQ(3U, manager_->GetNumActiveInputMethods());
692 EXPECT_EQ(1, observer.input_method_changed_count_); 692 EXPECT_EQ(1, observer.input_method_changed_count_);
693 EXPECT_EQ(ImeIdFromEngineId(ids[0]), manager_->GetCurrentInputMethod().id()); 693 EXPECT_EQ(ImeIdFromEngineId(ids[0]), manager_->GetCurrentInputMethod().id());
694 EXPECT_EQ("us(dvorak)", keyboard_->last_layout_); 694 EXPECT_EQ("us(dvorak)", keyboard_->last_layout_);
695 695
696 // Switch to Mozc. 696 // Switch to Mozc.
697 manager_->SwitchToNextInputMethod(); 697 manager_->SwitchToNextInputMethod();
698 EXPECT_EQ(2, observer.input_method_changed_count_); 698 EXPECT_EQ(2, observer.input_method_changed_count_);
699 EXPECT_EQ(ImeIdFromEngineId(ids[1]), manager_->GetCurrentInputMethod().id()); 699 EXPECT_EQ(ImeIdFromEngineId(ids[1]), manager_->GetCurrentInputMethod().id());
700 EXPECT_EQ("us(dvorak)", keyboard_->last_layout_); 700 EXPECT_EQ("us(dvorak)", keyboard_->last_layout_);
701 701
702 // Lock screen 702 // Lock screen
703 manager_->SetState(InputMethodManager::STATE_LOCK_SCREEN); 703 manager_->SetUIState(InputMethodManager::STATE_LOCK_SCREEN);
704 EXPECT_EQ(2U, manager_->GetNumActiveInputMethods()); // Qwerty+Dvorak. 704 EXPECT_EQ(2U, manager_->GetNumActiveInputMethods()); // Qwerty+Dvorak.
705 EXPECT_EQ(ImeIdFromEngineId("xkb:us:dvorak:eng"), 705 EXPECT_EQ(ImeIdFromEngineId("xkb:us:dvorak:eng"),
706 manager_->GetCurrentInputMethod().id()); 706 manager_->GetCurrentInputMethod().id());
707 EXPECT_EQ("us(dvorak)", keyboard_->last_layout_); 707 EXPECT_EQ("us(dvorak)", keyboard_->last_layout_);
708 manager_->SwitchToNextInputMethod(); 708 manager_->SwitchToNextInputMethod();
709 EXPECT_EQ(ImeIdFromEngineId("xkb:us::eng"), // The hardware keyboard layout. 709 EXPECT_EQ(ImeIdFromEngineId("xkb:us::eng"), // The hardware keyboard layout.
710 manager_->GetCurrentInputMethod().id()); 710 manager_->GetCurrentInputMethod().id());
711 EXPECT_EQ("us", keyboard_->last_layout_); 711 EXPECT_EQ("us", keyboard_->last_layout_);
712 712
713 // Unlock screen. The original state, pinyin-dv, is restored. 713 // Unlock screen. The original state, pinyin-dv, is restored.
714 manager_->SetState(InputMethodManager::STATE_BROWSER_SCREEN); 714 manager_->SetUIState(InputMethodManager::STATE_BROWSER_SCREEN);
715 EXPECT_EQ(3U, manager_->GetNumActiveInputMethods()); // Dvorak and 2 IMEs. 715 EXPECT_EQ(3U, manager_->GetNumActiveInputMethods()); // Dvorak and 2 IMEs.
716 EXPECT_EQ(ImeIdFromEngineId(ids[1]), manager_->GetCurrentInputMethod().id()); 716 EXPECT_EQ(ImeIdFromEngineId(ids[1]), manager_->GetCurrentInputMethod().id());
717 EXPECT_EQ("us(dvorak)", keyboard_->last_layout_); 717 EXPECT_EQ("us(dvorak)", keyboard_->last_layout_);
718 718
719 manager_->RemoveObserver(&observer); 719 manager_->RemoveObserver(&observer);
720 } 720 }
721 721
722 TEST_F(InputMethodManagerImplTest, TestXkbSetting) { 722 TEST_F(InputMethodManagerImplTest, TestXkbSetting) {
723 // For http://crbug.com/19655#c11 - (8), step 7-11. 723 // For http://crbug.com/19655#c11 - (8), step 7-11.
724 InitComponentExtension(); 724 InitComponentExtension();
725 manager_->SetState(InputMethodManager::STATE_BROWSER_SCREEN); 725 manager_->SetUIState(InputMethodManager::STATE_BROWSER_SCREEN);
726 std::vector<std::string> ids; 726 std::vector<std::string> ids;
727 ids.push_back(ImeIdFromEngineId("xkb:us:dvorak:eng")); 727 ids.push_back(ImeIdFromEngineId("xkb:us:dvorak:eng"));
728 ids.push_back(ImeIdFromEngineId("xkb:us:colemak:eng")); 728 ids.push_back(ImeIdFromEngineId("xkb:us:colemak:eng"));
729 ids.push_back(ImeIdFromEngineId(kNaclMozcJpId)); 729 ids.push_back(ImeIdFromEngineId(kNaclMozcJpId));
730 ids.push_back(ImeIdFromEngineId(kNaclMozcUsId)); 730 ids.push_back(ImeIdFromEngineId(kNaclMozcUsId));
731 EXPECT_TRUE(manager_->ReplaceEnabledInputMethods(ids)); 731 EXPECT_TRUE(manager_->ReplaceEnabledInputMethods(ids));
732 EXPECT_EQ(4U, manager_->GetNumActiveInputMethods()); 732 EXPECT_EQ(4U, manager_->GetNumActiveInputMethods());
733 EXPECT_EQ(1, keyboard_->set_current_keyboard_layout_by_name_count_); 733 EXPECT_EQ(1, keyboard_->set_current_keyboard_layout_by_name_count_);
734 // See input_methods.txt for an expected XKB layout name. 734 // See input_methods.txt for an expected XKB layout name.
735 EXPECT_EQ("us(dvorak)", keyboard_->last_layout_); 735 EXPECT_EQ("us(dvorak)", keyboard_->last_layout_);
(...skipping 29 matching lines...) Expand all
765 765
766 // Key2 is not registered, so activated property should not be changed. 766 // Key2 is not registered, so activated property should not be changed.
767 manager_->ActivateInputMethodMenuItem("key2"); 767 manager_->ActivateInputMethodMenuItem("key2");
768 EXPECT_EQ(kKey, mock_engine_handler_->last_activated_property()); 768 EXPECT_EQ(kKey, mock_engine_handler_->last_activated_property());
769 } 769 }
770 770
771 TEST_F(InputMethodManagerImplTest, TestGetCurrentInputMethodProperties) { 771 TEST_F(InputMethodManagerImplTest, TestGetCurrentInputMethodProperties) {
772 InitComponentExtension(); 772 InitComponentExtension();
773 EXPECT_TRUE(menu_manager_->GetCurrentInputMethodMenuItemList().empty()); 773 EXPECT_TRUE(menu_manager_->GetCurrentInputMethodMenuItemList().empty());
774 774
775 manager_->SetState(InputMethodManager::STATE_BROWSER_SCREEN); 775 manager_->SetUIState(InputMethodManager::STATE_BROWSER_SCREEN);
776 std::vector<std::string> ids; 776 std::vector<std::string> ids;
777 ids.push_back(ImeIdFromEngineId("xkb:us::eng")); 777 ids.push_back(ImeIdFromEngineId("xkb:us::eng"));
778 ids.push_back(ImeIdFromEngineId(kNaclMozcUsId)); 778 ids.push_back(ImeIdFromEngineId(kNaclMozcUsId));
779 EXPECT_TRUE(manager_->ReplaceEnabledInputMethods(ids)); 779 EXPECT_TRUE(manager_->ReplaceEnabledInputMethods(ids));
780 EXPECT_EQ(2U, manager_->GetNumActiveInputMethods()); 780 EXPECT_EQ(2U, manager_->GetNumActiveInputMethods());
781 EXPECT_TRUE(menu_manager_->GetCurrentInputMethodMenuItemList().empty()); 781 EXPECT_TRUE(menu_manager_->GetCurrentInputMethodMenuItemList().empty());
782 manager_->ChangeInputMethod(ImeIdFromEngineId(kNaclMozcUsId)); 782 manager_->ChangeInputMethod(ImeIdFromEngineId(kNaclMozcUsId));
783 783
784 ash::ime::InputMethodMenuItemList current_property_list; 784 ash::ime::InputMethodMenuItemList current_property_list;
785 current_property_list.push_back(ash::ime::InputMethodMenuItem( 785 current_property_list.push_back(ash::ime::InputMethodMenuItem(
786 "key", "label", false, false)); 786 "key", "label", false, false));
787 menu_manager_->SetCurrentInputMethodMenuItemList(current_property_list); 787 menu_manager_->SetCurrentInputMethodMenuItemList(current_property_list);
788 788
789 ASSERT_EQ(1U, menu_manager_->GetCurrentInputMethodMenuItemList().size()); 789 ASSERT_EQ(1U, menu_manager_->GetCurrentInputMethodMenuItemList().size());
790 EXPECT_EQ("key", 790 EXPECT_EQ("key",
791 menu_manager_->GetCurrentInputMethodMenuItemList().at(0).key); 791 menu_manager_->GetCurrentInputMethodMenuItemList().at(0).key);
792 792
793 manager_->ChangeInputMethod("xkb:us::eng"); 793 manager_->ChangeInputMethod("xkb:us::eng");
794 EXPECT_TRUE(menu_manager_->GetCurrentInputMethodMenuItemList().empty()); 794 EXPECT_TRUE(menu_manager_->GetCurrentInputMethodMenuItemList().empty());
795 } 795 }
796 796
797 TEST_F(InputMethodManagerImplTest, TestGetCurrentInputMethodPropertiesTwoImes) { 797 TEST_F(InputMethodManagerImplTest, TestGetCurrentInputMethodPropertiesTwoImes) {
798 InitComponentExtension(); 798 InitComponentExtension();
799 EXPECT_TRUE(menu_manager_->GetCurrentInputMethodMenuItemList().empty()); 799 EXPECT_TRUE(menu_manager_->GetCurrentInputMethodMenuItemList().empty());
800 800
801 manager_->SetState(InputMethodManager::STATE_BROWSER_SCREEN); 801 manager_->SetUIState(InputMethodManager::STATE_BROWSER_SCREEN);
802 std::vector<std::string> ids; 802 std::vector<std::string> ids;
803 ids.push_back(ImeIdFromEngineId(kNaclMozcUsId)); // Japanese 803 ids.push_back(ImeIdFromEngineId(kNaclMozcUsId)); // Japanese
804 ids.push_back(ImeIdFromEngineId(kExt2Engine1Id)); // T-Chinese 804 ids.push_back(ImeIdFromEngineId(kExt2Engine1Id)); // T-Chinese
805 EXPECT_TRUE(manager_->ReplaceEnabledInputMethods(ids)); 805 EXPECT_TRUE(manager_->ReplaceEnabledInputMethods(ids));
806 EXPECT_EQ(2U, manager_->GetNumActiveInputMethods()); 806 EXPECT_EQ(2U, manager_->GetNumActiveInputMethods());
807 EXPECT_TRUE(menu_manager_->GetCurrentInputMethodMenuItemList().empty()); 807 EXPECT_TRUE(menu_manager_->GetCurrentInputMethodMenuItemList().empty());
808 808
809 ash::ime::InputMethodMenuItemList current_property_list; 809 ash::ime::InputMethodMenuItemList current_property_list;
810 current_property_list.push_back(ash::ime::InputMethodMenuItem("key-mozc", 810 current_property_list.push_back(ash::ime::InputMethodMenuItem("key-mozc",
811 "label", 811 "label",
(...skipping 223 matching lines...) Expand 10 before | Expand all | Expand 10 after
1035 EXPECT_EQ("us", keyboard_->last_layout_); 1035 EXPECT_EQ("us", keyboard_->last_layout_);
1036 EXPECT_TRUE(manager_->SwitchInputMethod( 1036 EXPECT_TRUE(manager_->SwitchInputMethod(
1037 ui::Accelerator(ui::VKEY_DBE_DBCSCHAR, ui::EF_NONE))); 1037 ui::Accelerator(ui::VKEY_DBE_DBCSCHAR, ui::EF_NONE)));
1038 EXPECT_EQ(ImeIdFromEngineId("xkb:jp::jpn"), 1038 EXPECT_EQ(ImeIdFromEngineId("xkb:jp::jpn"),
1039 manager_->GetCurrentInputMethod().id()); 1039 manager_->GetCurrentInputMethod().id());
1040 EXPECT_EQ("jp", keyboard_->last_layout_); 1040 EXPECT_EQ("jp", keyboard_->last_layout_);
1041 } 1041 }
1042 1042
1043 TEST_F(InputMethodManagerImplTest, TestSwitchInputMethodWithJpIme) { 1043 TEST_F(InputMethodManagerImplTest, TestSwitchInputMethodWithJpIme) {
1044 InitComponentExtension(); 1044 InitComponentExtension();
1045 manager_->SetState(InputMethodManager::STATE_BROWSER_SCREEN); 1045 manager_->SetUIState(InputMethodManager::STATE_BROWSER_SCREEN);
1046 std::vector<std::string> ids; 1046 std::vector<std::string> ids;
1047 ids.push_back(ImeIdFromEngineId("xkb:jp::jpn")); 1047 ids.push_back(ImeIdFromEngineId("xkb:jp::jpn"));
1048 ids.push_back(ImeIdFromEngineId(kNaclMozcJpId)); 1048 ids.push_back(ImeIdFromEngineId(kNaclMozcJpId));
1049 EXPECT_TRUE(manager_->ReplaceEnabledInputMethods(ids)); 1049 EXPECT_TRUE(manager_->ReplaceEnabledInputMethods(ids));
1050 EXPECT_EQ(ImeIdFromEngineId("xkb:jp::jpn"), 1050 EXPECT_EQ(ImeIdFromEngineId("xkb:jp::jpn"),
1051 manager_->GetCurrentInputMethod().id()); 1051 manager_->GetCurrentInputMethod().id());
1052 EXPECT_EQ("jp", keyboard_->last_layout_); 1052 EXPECT_EQ("jp", keyboard_->last_layout_);
1053 EXPECT_TRUE(manager_->SwitchInputMethod( 1053 EXPECT_TRUE(manager_->SwitchInputMethod(
1054 ui::Accelerator(ui::VKEY_DBE_DBCSCHAR, ui::EF_NONE))); 1054 ui::Accelerator(ui::VKEY_DBE_DBCSCHAR, ui::EF_NONE)));
1055 EXPECT_EQ(ImeIdFromEngineId(kNaclMozcJpId), 1055 EXPECT_EQ(ImeIdFromEngineId(kNaclMozcJpId),
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after
1096 ui::Accelerator(ui::VKEY_DBE_SBCSCHAR, ui::EF_NONE))); 1096 ui::Accelerator(ui::VKEY_DBE_SBCSCHAR, ui::EF_NONE)));
1097 EXPECT_EQ(ImeIdFromEngineId("xkb:jp::jpn"), 1097 EXPECT_EQ(ImeIdFromEngineId("xkb:jp::jpn"),
1098 manager_->GetCurrentInputMethod().id()); 1098 manager_->GetCurrentInputMethod().id());
1099 EXPECT_EQ("jp", keyboard_->last_layout_); 1099 EXPECT_EQ("jp", keyboard_->last_layout_);
1100 } 1100 }
1101 1101
1102 TEST_F(InputMethodManagerImplTest, TestAddRemoveExtensionInputMethods) { 1102 TEST_F(InputMethodManagerImplTest, TestAddRemoveExtensionInputMethods) {
1103 TestObserver observer; 1103 TestObserver observer;
1104 manager_->AddObserver(&observer); 1104 manager_->AddObserver(&observer);
1105 InitComponentExtension(); 1105 InitComponentExtension();
1106 manager_->SetState(InputMethodManager::STATE_BROWSER_SCREEN); 1106 manager_->SetUIState(InputMethodManager::STATE_BROWSER_SCREEN);
1107 std::vector<std::string> ids; 1107 std::vector<std::string> ids;
1108 ids.push_back(ImeIdFromEngineId("xkb:us:dvorak:eng")); 1108 ids.push_back(ImeIdFromEngineId("xkb:us:dvorak:eng"));
1109 EXPECT_TRUE(manager_->ReplaceEnabledInputMethods(ids)); 1109 EXPECT_TRUE(manager_->ReplaceEnabledInputMethods(ids));
1110 EXPECT_EQ(1U, manager_->GetNumActiveInputMethods()); 1110 EXPECT_EQ(1U, manager_->GetNumActiveInputMethods());
1111 EXPECT_EQ(1, observer.input_method_changed_count_); 1111 EXPECT_EQ(1, observer.input_method_changed_count_);
1112 EXPECT_EQ(ImeIdFromEngineId(ids[0]), manager_->GetCurrentInputMethod().id()); 1112 EXPECT_EQ(ImeIdFromEngineId(ids[0]), manager_->GetCurrentInputMethod().id());
1113 EXPECT_EQ("us(dvorak)", keyboard_->last_layout_); 1113 EXPECT_EQ("us(dvorak)", keyboard_->last_layout_);
1114 1114
1115 // Add two Extension IMEs. 1115 // Add two Extension IMEs.
1116 std::vector<std::string> layouts; 1116 std::vector<std::string> layouts;
(...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after
1177 manager_->RemoveInputMethodExtension(ext1_id); 1177 manager_->RemoveInputMethodExtension(ext1_id);
1178 EXPECT_EQ(2U, manager_->GetNumActiveInputMethods()); 1178 EXPECT_EQ(2U, manager_->GetNumActiveInputMethods());
1179 manager_->RemoveInputMethodExtension(ext2_id); 1179 manager_->RemoveInputMethodExtension(ext2_id);
1180 EXPECT_EQ(1U, manager_->GetNumActiveInputMethods()); 1180 EXPECT_EQ(1U, manager_->GetNumActiveInputMethods());
1181 } 1181 }
1182 1182
1183 TEST_F(InputMethodManagerImplTest, TestAddExtensionInputThenLockScreen) { 1183 TEST_F(InputMethodManagerImplTest, TestAddExtensionInputThenLockScreen) {
1184 TestObserver observer; 1184 TestObserver observer;
1185 InitComponentExtension(); 1185 InitComponentExtension();
1186 manager_->AddObserver(&observer); 1186 manager_->AddObserver(&observer);
1187 manager_->SetState(InputMethodManager::STATE_BROWSER_SCREEN); 1187 manager_->SetUIState(InputMethodManager::STATE_BROWSER_SCREEN);
1188 std::vector<std::string> ids; 1188 std::vector<std::string> ids;
1189 ids.push_back(ImeIdFromEngineId("xkb:us::eng")); 1189 ids.push_back(ImeIdFromEngineId("xkb:us::eng"));
1190 EXPECT_TRUE(manager_->ReplaceEnabledInputMethods(ids)); 1190 EXPECT_TRUE(manager_->ReplaceEnabledInputMethods(ids));
1191 EXPECT_EQ(1U, manager_->GetNumActiveInputMethods()); 1191 EXPECT_EQ(1U, manager_->GetNumActiveInputMethods());
1192 EXPECT_EQ(1, observer.input_method_changed_count_); 1192 EXPECT_EQ(1, observer.input_method_changed_count_);
1193 EXPECT_EQ(ImeIdFromEngineId(ids[0]), manager_->GetCurrentInputMethod().id()); 1193 EXPECT_EQ(ImeIdFromEngineId(ids[0]), manager_->GetCurrentInputMethod().id());
1194 EXPECT_EQ("us", keyboard_->last_layout_); 1194 EXPECT_EQ("us", keyboard_->last_layout_);
1195 1195
1196 // Add an Extension IME. 1196 // Add an Extension IME.
1197 std::vector<std::string> layouts; 1197 std::vector<std::string> layouts;
(...skipping 23 matching lines...) Expand all
1221 manager_->SetEnabledExtensionImes(&extension_ime_ids); 1221 manager_->SetEnabledExtensionImes(&extension_ime_ids);
1222 EXPECT_EQ(2U, manager_->GetNumActiveInputMethods()); 1222 EXPECT_EQ(2U, manager_->GetNumActiveInputMethods());
1223 1223
1224 // Switch to the IME. 1224 // Switch to the IME.
1225 manager_->SwitchToNextInputMethod(); 1225 manager_->SwitchToNextInputMethod();
1226 EXPECT_EQ(3, observer.input_method_changed_count_); 1226 EXPECT_EQ(3, observer.input_method_changed_count_);
1227 EXPECT_EQ(ext_id, manager_->GetCurrentInputMethod().id()); 1227 EXPECT_EQ(ext_id, manager_->GetCurrentInputMethod().id());
1228 EXPECT_EQ("us(dvorak)", keyboard_->last_layout_); 1228 EXPECT_EQ("us(dvorak)", keyboard_->last_layout_);
1229 1229
1230 // Lock the screen. This is for crosbug.com/27049. 1230 // Lock the screen. This is for crosbug.com/27049.
1231 manager_->SetState(InputMethodManager::STATE_LOCK_SCREEN); 1231 manager_->SetUIState(InputMethodManager::STATE_LOCK_SCREEN);
1232 EXPECT_EQ(1U, manager_->GetNumActiveInputMethods()); // Qwerty. No Ext. IME 1232 EXPECT_EQ(1U, manager_->GetNumActiveInputMethods()); // Qwerty. No Ext. IME
1233 EXPECT_EQ(ImeIdFromEngineId("xkb:us::eng"), 1233 EXPECT_EQ(ImeIdFromEngineId("xkb:us::eng"),
1234 manager_->GetCurrentInputMethod().id()); 1234 manager_->GetCurrentInputMethod().id());
1235 EXPECT_EQ("us", keyboard_->last_layout_); 1235 EXPECT_EQ("us", keyboard_->last_layout_);
1236 1236
1237 // Unlock the screen. 1237 // Unlock the screen.
1238 manager_->SetState(InputMethodManager::STATE_BROWSER_SCREEN); 1238 manager_->SetUIState(InputMethodManager::STATE_BROWSER_SCREEN);
1239 EXPECT_EQ(2U, manager_->GetNumActiveInputMethods()); 1239 EXPECT_EQ(2U, manager_->GetNumActiveInputMethods());
1240 EXPECT_EQ(ext_id, manager_->GetCurrentInputMethod().id()); 1240 EXPECT_EQ(ext_id, manager_->GetCurrentInputMethod().id());
1241 EXPECT_EQ("us(dvorak)", keyboard_->last_layout_); 1241 EXPECT_EQ("us(dvorak)", keyboard_->last_layout_);
1242 { 1242 {
1243 // This is for crosbug.com/27052. 1243 // This is for crosbug.com/27052.
1244 scoped_ptr<InputMethodDescriptors> methods( 1244 scoped_ptr<InputMethodDescriptors> methods(
1245 manager_->GetActiveInputMethods()); 1245 manager_->GetActiveInputMethods());
1246 ASSERT_EQ(2U, methods->size()); 1246 ASSERT_EQ(2U, methods->size());
1247 // Ext. IMEs should be at the end of the list. 1247 // Ext. IMEs should be at the end of the list.
1248 EXPECT_EQ(ext_id, methods->at(1).id()); 1248 EXPECT_EQ(ext_id, methods->at(1).id());
1249 } 1249 }
1250 manager_->RemoveObserver(&observer); 1250 manager_->RemoveObserver(&observer);
1251 } 1251 }
1252 1252
1253 TEST_F(InputMethodManagerImplTest, 1253 TEST_F(InputMethodManagerImplTest,
1254 ChangeInputMethodBeforeComponentExtensionInitialization_OneIME) { 1254 ChangeInputMethodBeforeComponentExtensionInitialization_OneIME) {
1255 manager_->SetState(InputMethodManager::STATE_BROWSER_SCREEN); 1255 manager_->SetUIState(InputMethodManager::STATE_BROWSER_SCREEN);
1256 std::vector<std::string> ids; 1256 std::vector<std::string> ids;
1257 ids.push_back(ImeIdFromEngineId(kNaclMozcUsId)); 1257 ids.push_back(ImeIdFromEngineId(kNaclMozcUsId));
1258 EXPECT_TRUE(manager_->ReplaceEnabledInputMethods(ids)); 1258 EXPECT_TRUE(manager_->ReplaceEnabledInputMethods(ids));
1259 EXPECT_EQ(1U, manager_->GetNumActiveInputMethods()); 1259 EXPECT_EQ(1U, manager_->GetNumActiveInputMethods());
1260 manager_->ChangeInputMethod(ImeIdFromEngineId(kNaclMozcUsId)); 1260 manager_->ChangeInputMethod(ImeIdFromEngineId(kNaclMozcUsId));
1261 1261
1262 InitComponentExtension(); 1262 InitComponentExtension();
1263 EXPECT_EQ(ImeIdFromEngineId(kNaclMozcUsId), 1263 EXPECT_EQ(ImeIdFromEngineId(kNaclMozcUsId),
1264 manager_->GetCurrentInputMethod().id()); 1264 manager_->GetCurrentInputMethod().id());
1265 } 1265 }
1266 1266
1267 TEST_F(InputMethodManagerImplTest, 1267 TEST_F(InputMethodManagerImplTest,
1268 ChangeInputMethodBeforeComponentExtensionInitialization_TwoIME) { 1268 ChangeInputMethodBeforeComponentExtensionInitialization_TwoIME) {
1269 manager_->SetState(InputMethodManager::STATE_BROWSER_SCREEN); 1269 manager_->SetUIState(InputMethodManager::STATE_BROWSER_SCREEN);
1270 std::vector<std::string> ids; 1270 std::vector<std::string> ids;
1271 ids.push_back(ImeIdFromEngineId(kNaclMozcUsId)); 1271 ids.push_back(ImeIdFromEngineId(kNaclMozcUsId));
1272 ids.push_back(ImeIdFromEngineId(kNaclMozcJpId)); 1272 ids.push_back(ImeIdFromEngineId(kNaclMozcJpId));
1273 EXPECT_TRUE(manager_->ReplaceEnabledInputMethods(ids)); 1273 EXPECT_TRUE(manager_->ReplaceEnabledInputMethods(ids));
1274 EXPECT_EQ(2U, manager_->GetNumActiveInputMethods()); 1274 EXPECT_EQ(2U, manager_->GetNumActiveInputMethods());
1275 manager_->ChangeInputMethod(ImeIdFromEngineId(kNaclMozcUsId)); 1275 manager_->ChangeInputMethod(ImeIdFromEngineId(kNaclMozcUsId));
1276 manager_->ChangeInputMethod(ImeIdFromEngineId(kNaclMozcJpId)); 1276 manager_->ChangeInputMethod(ImeIdFromEngineId(kNaclMozcJpId));
1277 1277
1278 InitComponentExtension(); 1278 InitComponentExtension();
1279 EXPECT_EQ(ImeIdFromEngineId(kNaclMozcJpId), 1279 EXPECT_EQ(ImeIdFromEngineId(kNaclMozcJpId),
1280 manager_->GetCurrentInputMethod().id()); 1280 manager_->GetCurrentInputMethod().id());
1281 } 1281 }
1282 1282
1283 TEST_F(InputMethodManagerImplTest, 1283 TEST_F(InputMethodManagerImplTest,
1284 ChangeInputMethodBeforeComponentExtensionInitialization_CompOneIME) { 1284 ChangeInputMethodBeforeComponentExtensionInitialization_CompOneIME) {
1285 manager_->SetState(InputMethodManager::STATE_BROWSER_SCREEN); 1285 manager_->SetUIState(InputMethodManager::STATE_BROWSER_SCREEN);
1286 const std::string ext_id = extension_ime_util::GetComponentInputMethodID( 1286 const std::string ext_id = extension_ime_util::GetComponentInputMethodID(
1287 ime_list_[1].id, 1287 ime_list_[1].id,
1288 ime_list_[1].engines[0].engine_id); 1288 ime_list_[1].engines[0].engine_id);
1289 std::vector<std::string> ids; 1289 std::vector<std::string> ids;
1290 ids.push_back(ext_id); 1290 ids.push_back(ext_id);
1291 EXPECT_TRUE(manager_->ReplaceEnabledInputMethods(ids)); 1291 EXPECT_TRUE(manager_->ReplaceEnabledInputMethods(ids));
1292 EXPECT_EQ(1U, manager_->GetNumActiveInputMethods()); 1292 EXPECT_EQ(1U, manager_->GetNumActiveInputMethods());
1293 manager_->ChangeInputMethod(ext_id); 1293 manager_->ChangeInputMethod(ext_id);
1294 1294
1295 InitComponentExtension(); 1295 InitComponentExtension();
1296 EXPECT_EQ(ext_id, manager_->GetCurrentInputMethod().id()); 1296 EXPECT_EQ(ext_id, manager_->GetCurrentInputMethod().id());
1297 } 1297 }
1298 1298
1299 TEST_F(InputMethodManagerImplTest, 1299 TEST_F(InputMethodManagerImplTest,
1300 ChangeInputMethodBeforeComponentExtensionInitialization_CompTwoIME) { 1300 ChangeInputMethodBeforeComponentExtensionInitialization_CompTwoIME) {
1301 manager_->SetState(InputMethodManager::STATE_BROWSER_SCREEN); 1301 manager_->SetUIState(InputMethodManager::STATE_BROWSER_SCREEN);
1302 const std::string ext_id1 = extension_ime_util::GetComponentInputMethodID( 1302 const std::string ext_id1 = extension_ime_util::GetComponentInputMethodID(
1303 ime_list_[1].id, 1303 ime_list_[1].id,
1304 ime_list_[1].engines[0].engine_id); 1304 ime_list_[1].engines[0].engine_id);
1305 const std::string ext_id2 = extension_ime_util::GetComponentInputMethodID( 1305 const std::string ext_id2 = extension_ime_util::GetComponentInputMethodID(
1306 ime_list_[2].id, 1306 ime_list_[2].id,
1307 ime_list_[2].engines[0].engine_id); 1307 ime_list_[2].engines[0].engine_id);
1308 std::vector<std::string> ids; 1308 std::vector<std::string> ids;
1309 ids.push_back(ext_id1); 1309 ids.push_back(ext_id1);
1310 ids.push_back(ext_id2); 1310 ids.push_back(ext_id2);
1311 EXPECT_TRUE(manager_->ReplaceEnabledInputMethods(ids)); 1311 EXPECT_TRUE(manager_->ReplaceEnabledInputMethods(ids));
1312 EXPECT_EQ(2U, manager_->GetNumActiveInputMethods()); 1312 EXPECT_EQ(2U, manager_->GetNumActiveInputMethods());
1313 manager_->ChangeInputMethod(ext_id1); 1313 manager_->ChangeInputMethod(ext_id1);
1314 manager_->ChangeInputMethod(ext_id2); 1314 manager_->ChangeInputMethod(ext_id2);
1315 1315
1316 InitComponentExtension(); 1316 InitComponentExtension();
1317 EXPECT_EQ(ext_id2, manager_->GetCurrentInputMethod().id()); 1317 EXPECT_EQ(ext_id2, manager_->GetCurrentInputMethod().id());
1318 } 1318 }
1319 1319
1320 TEST_F(InputMethodManagerImplTest, 1320 TEST_F(InputMethodManagerImplTest,
1321 ChangeInputMethod_ComponenteExtensionOneIME) { 1321 ChangeInputMethod_ComponenteExtensionOneIME) {
1322 InitComponentExtension(); 1322 InitComponentExtension();
1323 manager_->SetState(InputMethodManager::STATE_BROWSER_SCREEN); 1323 manager_->SetUIState(InputMethodManager::STATE_BROWSER_SCREEN);
1324 const std::string ext_id = extension_ime_util::GetComponentInputMethodID( 1324 const std::string ext_id = extension_ime_util::GetComponentInputMethodID(
1325 ime_list_[1].id, 1325 ime_list_[1].id,
1326 ime_list_[1].engines[0].engine_id); 1326 ime_list_[1].engines[0].engine_id);
1327 std::vector<std::string> ids; 1327 std::vector<std::string> ids;
1328 ids.push_back(ext_id); 1328 ids.push_back(ext_id);
1329 EXPECT_TRUE(manager_->ReplaceEnabledInputMethods(ids)); 1329 EXPECT_TRUE(manager_->ReplaceEnabledInputMethods(ids));
1330 EXPECT_EQ(1U, manager_->GetNumActiveInputMethods()); 1330 EXPECT_EQ(1U, manager_->GetNumActiveInputMethods());
1331 EXPECT_EQ(ext_id, manager_->GetCurrentInputMethod().id()); 1331 EXPECT_EQ(ext_id, manager_->GetCurrentInputMethod().id());
1332 } 1332 }
1333 1333
1334 TEST_F(InputMethodManagerImplTest, 1334 TEST_F(InputMethodManagerImplTest,
1335 ChangeInputMethod_ComponenteExtensionTwoIME) { 1335 ChangeInputMethod_ComponenteExtensionTwoIME) {
1336 InitComponentExtension(); 1336 InitComponentExtension();
1337 manager_->SetState(InputMethodManager::STATE_BROWSER_SCREEN); 1337 manager_->SetUIState(InputMethodManager::STATE_BROWSER_SCREEN);
1338 const std::string ext_id1 = extension_ime_util::GetComponentInputMethodID( 1338 const std::string ext_id1 = extension_ime_util::GetComponentInputMethodID(
1339 ime_list_[1].id, 1339 ime_list_[1].id,
1340 ime_list_[1].engines[0].engine_id); 1340 ime_list_[1].engines[0].engine_id);
1341 const std::string ext_id2 = extension_ime_util::GetComponentInputMethodID( 1341 const std::string ext_id2 = extension_ime_util::GetComponentInputMethodID(
1342 ime_list_[2].id, 1342 ime_list_[2].id,
1343 ime_list_[2].engines[0].engine_id); 1343 ime_list_[2].engines[0].engine_id);
1344 std::vector<std::string> ids; 1344 std::vector<std::string> ids;
1345 ids.push_back(ext_id1); 1345 ids.push_back(ext_id1);
1346 ids.push_back(ext_id2); 1346 ids.push_back(ext_id2);
1347 EXPECT_TRUE(manager_->ReplaceEnabledInputMethods(ids)); 1347 EXPECT_TRUE(manager_->ReplaceEnabledInputMethods(ids));
(...skipping 18 matching lines...) Expand all
1366 ASSERT_EQ(4U, input_method_ids.size()); 1366 ASSERT_EQ(4U, input_method_ids.size());
1367 1367
1368 EXPECT_EQ(ImeIdFromEngineId("xkb:us::eng"), input_method_ids[0]); 1368 EXPECT_EQ(ImeIdFromEngineId("xkb:us::eng"), input_method_ids[0]);
1369 EXPECT_EQ(ImeIdFromEngineId("xkb:fr::fra"), input_method_ids[1]); 1369 EXPECT_EQ(ImeIdFromEngineId("xkb:fr::fra"), input_method_ids[1]);
1370 EXPECT_EQ("_comp_ime_asdf_pinyin", input_method_ids[2]); 1370 EXPECT_EQ("_comp_ime_asdf_pinyin", input_method_ids[2]);
1371 EXPECT_EQ(ImeIdFromEngineId("zh-t-i0-pinyin"), input_method_ids[3]); 1371 EXPECT_EQ(ImeIdFromEngineId("zh-t-i0-pinyin"), input_method_ids[3]);
1372 } 1372 }
1373 1373
1374 } // namespace input_method 1374 } // namespace input_method
1375 } // namespace chromeos 1375 } // namespace chromeos
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698