| Index: chrome/browser/chromeos/input_method/input_method_manager_impl_unittest.cc
|
| diff --git a/chrome/browser/chromeos/input_method/input_method_manager_impl_unittest.cc b/chrome/browser/chromeos/input_method/input_method_manager_impl_unittest.cc
|
| index 4eed0cb7352423a3aa916eb283a9d743e7204d07..7fb81c48ab59e28b02ca289e73374f1047c32cac 100644
|
| --- a/chrome/browser/chromeos/input_method/input_method_manager_impl_unittest.cc
|
| +++ b/chrome/browser/chromeos/input_method/input_method_manager_impl_unittest.cc
|
| @@ -51,6 +51,10 @@ bool Contain(const InputMethodDescriptors& descriptors,
|
| return false;
|
| }
|
|
|
| +std::string XkbId(const std::string& id) {
|
| + return extension_ime_util::GetInputMethodIDByKeyboardLayout(id);
|
| +}
|
| +
|
| class InputMethodManagerImplTest : public testing::Test {
|
| public:
|
| InputMethodManagerImplTest()
|
| @@ -78,6 +82,83 @@ class InputMethodManagerImplTest : public testing::Test {
|
|
|
| ime_list_.clear();
|
|
|
| + ComponentExtensionIME ext_xkb;
|
| + ext_xkb.id = "fgoepimhcoialccpbmpnnblemnepkkao";
|
| + ext_xkb.description = "ext_xkb_description";
|
| + ext_xkb.path = base::FilePath("ext_xkb_file_path");
|
| +
|
| + ComponentExtensionEngine ext_xkb_engine_us;
|
| + ext_xkb_engine_us.engine_id = "xkb:us::eng";
|
| + ext_xkb_engine_us.display_name = "xkb:us::eng";
|
| + ext_xkb_engine_us.language_codes.push_back("en-US");
|
| + ext_xkb_engine_us.layouts.push_back("us");
|
| + ext_xkb.engines.push_back(ext_xkb_engine_us);
|
| +
|
| + ComponentExtensionEngine ext_xkb_engine_dvorak;
|
| + ext_xkb_engine_dvorak.engine_id = "xkb:us:dvorak:eng";
|
| + ext_xkb_engine_dvorak.display_name = "xkb:us:dvorak:eng";
|
| + ext_xkb_engine_dvorak.language_codes.push_back("en-US");
|
| + ext_xkb_engine_dvorak.layouts.push_back("us(dvorak)");
|
| + ext_xkb.engines.push_back(ext_xkb_engine_dvorak);
|
| +
|
| + ComponentExtensionEngine ext_xkb_engine_intl;
|
| + ext_xkb_engine_intl.engine_id = "xkb:us:intl:eng";
|
| + ext_xkb_engine_intl.display_name = "xkb:us:intl:eng";
|
| + ext_xkb_engine_intl.language_codes.push_back("en-US");
|
| + ext_xkb_engine_intl.layouts.push_back("us(intl)");
|
| + ext_xkb.engines.push_back(ext_xkb_engine_intl);
|
| +
|
| + ComponentExtensionEngine ext_xkb_engine_altgr_intl;
|
| + ext_xkb_engine_altgr_intl.engine_id = "xkb:us:altgr-intl:eng";
|
| + ext_xkb_engine_altgr_intl.display_name = "xkb:us:altgr-intl:eng";
|
| + ext_xkb_engine_altgr_intl.language_codes.push_back("en-US");
|
| + ext_xkb_engine_altgr_intl.layouts.push_back("us(altgr-intl)");
|
| + ext_xkb.engines.push_back(ext_xkb_engine_altgr_intl);
|
| +
|
| + ComponentExtensionEngine ext_xkb_engine_fr;
|
| + ext_xkb_engine_fr.engine_id = "xkb:fr::fra";
|
| + ext_xkb_engine_fr.display_name = "xkb:fr::fra";
|
| + ext_xkb_engine_fr.language_codes.push_back("fr");
|
| + ext_xkb_engine_fr.layouts.push_back("fr");
|
| + ext_xkb.engines.push_back(ext_xkb_engine_fr);
|
| +
|
| + ComponentExtensionEngine ext_xkb_engine_colemak;
|
| + ext_xkb_engine_colemak.engine_id = "xkb:us:colemak:eng";
|
| + ext_xkb_engine_colemak.display_name = "xkb:us:colemak:eng";
|
| + ext_xkb_engine_colemak.language_codes.push_back("en-US");
|
| + ext_xkb_engine_colemak.layouts.push_back("us(colemak)");
|
| + ext_xkb.engines.push_back(ext_xkb_engine_colemak);
|
| +
|
| + ComponentExtensionEngine ext_xkb_engine_se;
|
| + ext_xkb_engine_se.engine_id = "xkb:se::swe";
|
| + ext_xkb_engine_se.display_name = "xkb:se::swe";
|
| + ext_xkb_engine_se.language_codes.push_back("sv");
|
| + ext_xkb_engine_se.layouts.push_back("se");
|
| + ext_xkb.engines.push_back(ext_xkb_engine_se);
|
| +
|
| + ComponentExtensionEngine ext_xkb_engine_jp;
|
| + ext_xkb_engine_jp.engine_id = "xkb:jp::jpn";
|
| + ext_xkb_engine_jp.display_name = "xkb:jp::jpn";
|
| + ext_xkb_engine_jp.language_codes.push_back("ja");
|
| + ext_xkb_engine_jp.layouts.push_back("jp");
|
| + ext_xkb.engines.push_back(ext_xkb_engine_jp);
|
| +
|
| + ComponentExtensionEngine ext_xkb_engine_ru;
|
| + ext_xkb_engine_ru.engine_id = "xkb:ru::rus";
|
| + ext_xkb_engine_ru.display_name = "xkb:ru::rus";
|
| + ext_xkb_engine_ru.language_codes.push_back("ru");
|
| + ext_xkb_engine_ru.layouts.push_back("ru");
|
| + ext_xkb.engines.push_back(ext_xkb_engine_ru);
|
| +
|
| + ComponentExtensionEngine ext_xkb_engine_hu;
|
| + ext_xkb_engine_hu.engine_id = "xkb:hu::hun";
|
| + ext_xkb_engine_hu.display_name = "xkb:hu::hun";
|
| + ext_xkb_engine_hu.language_codes.push_back("hu");
|
| + ext_xkb_engine_hu.layouts.push_back("hu");
|
| + ext_xkb.engines.push_back(ext_xkb_engine_hu);
|
| +
|
| + ime_list_.push_back(ext_xkb);
|
| +
|
| ComponentExtensionIME ext1;
|
| ext1.id = "fpfbhcjppmaeaijcidgiibchfbnhbelj";
|
| ext1.description = "ext1_description";
|
| @@ -250,13 +331,14 @@ TEST_F(InputMethodManagerImplTest, TestObserver) {
|
| menu_manager_->AddObserver(&observer);
|
| EXPECT_EQ(0, observer.input_method_changed_count_);
|
| manager_->EnableLoginLayouts("en-US", keyboard_layouts);
|
| + EXPECT_EQ(5U, manager_->GetActiveInputMethods()->size());
|
| EXPECT_EQ(1, observer.input_method_changed_count_);
|
| EXPECT_EQ(1, observer.input_method_menu_item_changed_count_);
|
| - manager_->ChangeInputMethod("xkb:us:dvorak:eng");
|
| + manager_->ChangeInputMethod(XkbId("xkb:us:dvorak:eng"));
|
| EXPECT_FALSE(observer.last_show_message_);
|
| EXPECT_EQ(2, observer.input_method_changed_count_);
|
| EXPECT_EQ(2, observer.input_method_menu_item_changed_count_);
|
| - manager_->ChangeInputMethod("xkb:us:dvorak:eng");
|
| + manager_->ChangeInputMethod(XkbId("xkb:us:dvorak:eng"));
|
| EXPECT_FALSE(observer.last_show_message_);
|
|
|
| // The observer is always notified even when the same input method ID is
|
| @@ -301,8 +383,6 @@ TEST_F(InputMethodManagerImplTest, TestEnableLayouts) {
|
| InitComponentExtension();
|
| manager_->EnableLoginLayouts("en-US", keyboard_layouts);
|
| EXPECT_EQ(5U, manager_->GetNumActiveInputMethods());
|
| - for (size_t i = 0; i < manager_->GetActiveInputMethodIds().size(); ++i)
|
| - LOG(ERROR) << manager_->GetActiveInputMethodIds().at(i);
|
|
|
| // For http://crbug.com/19655#c11 - (5)
|
| // The hardware keyboard layout "xkb:us::eng" is always active, hence 2U.
|
| @@ -315,12 +395,14 @@ TEST_F(InputMethodManagerImplTest, TestEnableLayoutsAndCurrentInputMethod) {
|
| std::vector<std::string> keyboard_layouts;
|
| keyboard_layouts.push_back("xkb:se::swe");
|
|
|
| + InitComponentExtension();
|
| manager_->EnableLoginLayouts("en-US", keyboard_layouts);
|
| const std::string im_id = manager_->GetCurrentInputMethod().id();
|
| - EXPECT_EQ("xkb:se::swe", im_id);
|
| + EXPECT_EQ(XkbId("xkb:se::swe"), im_id);
|
| }
|
|
|
| TEST_F(InputMethodManagerImplTest, TestEnableLayoutsNonUsHardwareKeyboard) {
|
| + InitComponentExtension();
|
| // The physical layout is French.
|
| manager_->GetInputMethodUtil()->SetHardwareKeyboardLayoutForTesting(
|
| "xkb:fr::fra");
|
| @@ -345,10 +427,12 @@ TEST_F(InputMethodManagerImplTest, TestEnableLayoutsNonUsHardwareKeyboard) {
|
| manager_->GetInputMethodUtil()->GetHardwareLoginInputMethodIds());
|
| // "xkb:us::eng" only.
|
| EXPECT_EQ(1U, manager_->GetNumActiveInputMethods());
|
| - EXPECT_EQ("xkb:us::eng", manager_->GetActiveInputMethodIds().front());
|
| + EXPECT_EQ(XkbId("xkb:us::eng"),
|
| + manager_->GetActiveInputMethodIds().front());
|
| }
|
|
|
| TEST_F(InputMethodManagerImplTest, TestEnableMultipleHardwareKeyboardLayout) {
|
| + InitComponentExtension();
|
| // The physical layouts are French and Hungarian.
|
| manager_->GetInputMethodUtil()->SetHardwareKeyboardLayoutForTesting(
|
| "xkb:fr::fra,xkb:hu::hun");
|
| @@ -361,6 +445,7 @@ TEST_F(InputMethodManagerImplTest, TestEnableMultipleHardwareKeyboardLayout) {
|
|
|
| TEST_F(InputMethodManagerImplTest,
|
| TestEnableMultipleHardwareKeyboardLayout_NoLoginKeyboard) {
|
| + InitComponentExtension();
|
| // The physical layouts are English (US) and Russian.
|
| manager_->GetInputMethodUtil()->SetHardwareKeyboardLayoutForTesting(
|
| "xkb:us::eng,xkb:ru::rus");
|
| @@ -372,6 +457,7 @@ TEST_F(InputMethodManagerImplTest,
|
| }
|
|
|
| TEST_F(InputMethodManagerImplTest, TestActiveInputMethods) {
|
| + InitComponentExtension();
|
| std::vector<std::string> keyboard_layouts;
|
| manager_->EnableLoginLayouts("ja", keyboard_layouts); // Japanese
|
| EXPECT_EQ(2U, manager_->GetNumActiveInputMethods());
|
| @@ -381,11 +467,11 @@ TEST_F(InputMethodManagerImplTest, TestActiveInputMethods) {
|
| EXPECT_EQ(2U, methods->size());
|
| const InputMethodDescriptor* id_to_find =
|
| manager_->GetInputMethodUtil()->GetInputMethodDescriptorFromId(
|
| - "xkb:us::eng");
|
| - EXPECT_TRUE(Contain(*methods.get(), *id_to_find));
|
| + XkbId("xkb:us::eng"));
|
| + EXPECT_TRUE(id_to_find && Contain(*methods.get(), *id_to_find));
|
| id_to_find = manager_->GetInputMethodUtil()->GetInputMethodDescriptorFromId(
|
| - "xkb:jp::jpn");
|
| - EXPECT_TRUE(Contain(*methods.get(), *id_to_find));
|
| + XkbId("xkb:jp::jpn"));
|
| + EXPECT_TRUE(id_to_find && Contain(*methods.get(), *id_to_find));
|
| }
|
|
|
| TEST_F(InputMethodManagerImplTest, TestEnableTwoLayouts) {
|
| @@ -402,14 +488,14 @@ TEST_F(InputMethodManagerImplTest, TestEnableTwoLayouts) {
|
| // Since all the IDs added avobe are keyboard layouts, Start() should not be
|
| // called.
|
| EXPECT_EQ(1, observer.input_method_changed_count_);
|
| - EXPECT_EQ(ids[0], manager_->GetCurrentInputMethod().id());
|
| + EXPECT_EQ(XkbId(ids[0]), manager_->GetCurrentInputMethod().id());
|
| EXPECT_EQ("us(dvorak)", xkeyboard_->last_layout_);
|
| // Disable Dvorak.
|
| ids.erase(ids.begin());
|
| EXPECT_TRUE(manager_->ReplaceEnabledInputMethods(ids));
|
| EXPECT_EQ(1U, manager_->GetNumActiveInputMethods());
|
| EXPECT_EQ(2, observer.input_method_changed_count_);
|
| - EXPECT_EQ(ids[0], // colemak
|
| + EXPECT_EQ(XkbId(ids[0]), // colemak
|
| manager_->GetCurrentInputMethod().id());
|
| EXPECT_EQ("us(colemak)", xkeyboard_->last_layout_);
|
| manager_->RemoveObserver(&observer);
|
| @@ -428,19 +514,19 @@ TEST_F(InputMethodManagerImplTest, TestEnableThreeLayouts) {
|
| EXPECT_TRUE(manager_->ReplaceEnabledInputMethods(ids));
|
| EXPECT_EQ(3U, manager_->GetNumActiveInputMethods());
|
| EXPECT_EQ(1, observer.input_method_changed_count_);
|
| - EXPECT_EQ(ids[0], manager_->GetCurrentInputMethod().id());
|
| + EXPECT_EQ(XkbId(ids[0]), manager_->GetCurrentInputMethod().id());
|
| EXPECT_EQ("us", xkeyboard_->last_layout_);
|
| // Switch to Dvorak.
|
| manager_->SwitchToNextInputMethod();
|
| EXPECT_EQ(2, observer.input_method_changed_count_);
|
| - EXPECT_EQ(ids[1], manager_->GetCurrentInputMethod().id());
|
| + EXPECT_EQ(XkbId(ids[1]), manager_->GetCurrentInputMethod().id());
|
| EXPECT_EQ("us(dvorak)", xkeyboard_->last_layout_);
|
| // Disable Dvorak.
|
| ids.erase(ids.begin() + 1);
|
| EXPECT_TRUE(manager_->ReplaceEnabledInputMethods(ids));
|
| EXPECT_EQ(2U, manager_->GetNumActiveInputMethods());
|
| EXPECT_EQ(3, observer.input_method_changed_count_);
|
| - EXPECT_EQ(ids[0], // US Qwerty
|
| + EXPECT_EQ(XkbId(ids[0]), // US Qwerty
|
| manager_->GetCurrentInputMethod().id());
|
| EXPECT_EQ("us", xkeyboard_->last_layout_);
|
| manager_->RemoveObserver(&observer);
|
| @@ -457,18 +543,18 @@ TEST_F(InputMethodManagerImplTest, TestEnableLayoutAndIme) {
|
| ids.push_back(kNaclMozcUsId);
|
| EXPECT_TRUE(manager_->ReplaceEnabledInputMethods(ids));
|
| EXPECT_EQ(1, observer.input_method_changed_count_);
|
| - EXPECT_EQ(ids[0], manager_->GetCurrentInputMethod().id());
|
| + EXPECT_EQ(XkbId(ids[0]), manager_->GetCurrentInputMethod().id());
|
| EXPECT_EQ("us(dvorak)", xkeyboard_->last_layout_);
|
| // Switch to Mozc
|
| manager_->SwitchToNextInputMethod();
|
| EXPECT_EQ(2, observer.input_method_changed_count_);
|
| - EXPECT_EQ(ids[1], manager_->GetCurrentInputMethod().id());
|
| + EXPECT_EQ(XkbId(ids[1]), manager_->GetCurrentInputMethod().id());
|
| EXPECT_EQ("us", xkeyboard_->last_layout_);
|
| // Disable Mozc.
|
| ids.erase(ids.begin() + 1);
|
| EXPECT_TRUE(manager_->ReplaceEnabledInputMethods(ids));
|
| EXPECT_EQ(1U, manager_->GetNumActiveInputMethods());
|
| - EXPECT_EQ(ids[0], manager_->GetCurrentInputMethod().id());
|
| + EXPECT_EQ(XkbId(ids[0]), manager_->GetCurrentInputMethod().id());
|
| EXPECT_EQ("us(dvorak)", xkeyboard_->last_layout_);
|
| }
|
|
|
| @@ -483,14 +569,14 @@ TEST_F(InputMethodManagerImplTest, TestEnableLayoutAndIme2) {
|
| ids.push_back(kNaclMozcUsId);
|
| EXPECT_TRUE(manager_->ReplaceEnabledInputMethods(ids));
|
| EXPECT_EQ(1, observer.input_method_changed_count_);
|
| - EXPECT_EQ(ids[0], manager_->GetCurrentInputMethod().id());
|
| + EXPECT_EQ(XkbId(ids[0]), manager_->GetCurrentInputMethod().id());
|
| EXPECT_EQ("us(dvorak)", xkeyboard_->last_layout_);
|
|
|
| // Disable Dvorak.
|
| ids.erase(ids.begin());
|
| EXPECT_TRUE(manager_->ReplaceEnabledInputMethods(ids));
|
| EXPECT_EQ(1U, manager_->GetNumActiveInputMethods());
|
| - EXPECT_EQ(ids[0], // Mozc
|
| + EXPECT_EQ(XkbId(ids[0]), // Mozc
|
| manager_->GetCurrentInputMethod().id());
|
| EXPECT_EQ("us", xkeyboard_->last_layout_);
|
| manager_->RemoveObserver(&observer);
|
| @@ -506,7 +592,7 @@ TEST_F(InputMethodManagerImplTest, TestEnableImes) {
|
| ids.push_back("mozc-dv");
|
| EXPECT_TRUE(manager_->ReplaceEnabledInputMethods(ids));
|
| EXPECT_EQ(1, observer.input_method_changed_count_);
|
| - EXPECT_EQ(ids[0], manager_->GetCurrentInputMethod().id());
|
| + EXPECT_EQ(XkbId(ids[0]), manager_->GetCurrentInputMethod().id());
|
| EXPECT_EQ("us", xkeyboard_->last_layout_);
|
| manager_->RemoveObserver(&observer);
|
| }
|
| @@ -539,30 +625,30 @@ TEST_F(InputMethodManagerImplTest, TestEnableLayoutsThenLock) {
|
| EXPECT_TRUE(manager_->ReplaceEnabledInputMethods(ids));
|
| EXPECT_EQ(2U, manager_->GetNumActiveInputMethods());
|
| EXPECT_EQ(1, observer.input_method_changed_count_);
|
| - EXPECT_EQ(ids[0], manager_->GetCurrentInputMethod().id());
|
| + EXPECT_EQ(XkbId(ids[0]), manager_->GetCurrentInputMethod().id());
|
| EXPECT_EQ("us", xkeyboard_->last_layout_);
|
|
|
| // Switch to Dvorak.
|
| manager_->SwitchToNextInputMethod();
|
| EXPECT_EQ(2, observer.input_method_changed_count_);
|
| - EXPECT_EQ(ids[1], manager_->GetCurrentInputMethod().id());
|
| + EXPECT_EQ(XkbId(ids[1]), manager_->GetCurrentInputMethod().id());
|
| EXPECT_EQ("us(dvorak)", xkeyboard_->last_layout_);
|
|
|
| // Lock screen
|
| manager_->SetState(InputMethodManager::STATE_LOCK_SCREEN);
|
| EXPECT_EQ(2U, manager_->GetNumActiveInputMethods());
|
| - EXPECT_EQ(ids[1], // still Dvorak
|
| + EXPECT_EQ(XkbId(ids[1]), // still Dvorak
|
| manager_->GetCurrentInputMethod().id());
|
| EXPECT_EQ("us(dvorak)", xkeyboard_->last_layout_);
|
| // Switch back to Qwerty.
|
| manager_->SwitchToNextInputMethod();
|
| - EXPECT_EQ(ids[0], manager_->GetCurrentInputMethod().id());
|
| + EXPECT_EQ(XkbId(ids[0]), manager_->GetCurrentInputMethod().id());
|
| EXPECT_EQ("us", xkeyboard_->last_layout_);
|
|
|
| // Unlock screen. The original state, Dvorak, is restored.
|
| manager_->SetState(InputMethodManager::STATE_BROWSER_SCREEN);
|
| EXPECT_EQ(2U, manager_->GetNumActiveInputMethods());
|
| - EXPECT_EQ(ids[1], manager_->GetCurrentInputMethod().id());
|
| + EXPECT_EQ(XkbId(ids[1]), manager_->GetCurrentInputMethod().id());
|
| EXPECT_EQ("us(dvorak)", xkeyboard_->last_layout_);
|
|
|
| manager_->RemoveObserver(&observer);
|
| @@ -581,30 +667,30 @@ TEST_F(InputMethodManagerImplTest, SwitchInputMethodTest) {
|
| EXPECT_TRUE(manager_->ReplaceEnabledInputMethods(ids));
|
| EXPECT_EQ(3U, manager_->GetNumActiveInputMethods());
|
| EXPECT_EQ(1, observer.input_method_changed_count_);
|
| - EXPECT_EQ(ids[0], manager_->GetCurrentInputMethod().id());
|
| + EXPECT_EQ(XkbId(ids[0]), manager_->GetCurrentInputMethod().id());
|
| EXPECT_EQ("us(dvorak)", xkeyboard_->last_layout_);
|
|
|
| // Switch to Mozc.
|
| manager_->SwitchToNextInputMethod();
|
| EXPECT_EQ(2, observer.input_method_changed_count_);
|
| - EXPECT_EQ(ids[1], manager_->GetCurrentInputMethod().id());
|
| + EXPECT_EQ(XkbId(ids[1]), manager_->GetCurrentInputMethod().id());
|
| EXPECT_EQ("us(dvorak)", xkeyboard_->last_layout_);
|
|
|
| // Lock screen
|
| manager_->SetState(InputMethodManager::STATE_LOCK_SCREEN);
|
| EXPECT_EQ(2U, manager_->GetNumActiveInputMethods()); // Qwerty+Dvorak.
|
| - EXPECT_EQ("xkb:us:dvorak:eng",
|
| + EXPECT_EQ(XkbId("xkb:us:dvorak:eng"),
|
| manager_->GetCurrentInputMethod().id());
|
| EXPECT_EQ("us(dvorak)", xkeyboard_->last_layout_);
|
| manager_->SwitchToNextInputMethod();
|
| - EXPECT_EQ("xkb:us::eng", // The hardware keyboard layout.
|
| + EXPECT_EQ(XkbId("xkb:us::eng"), // The hardware keyboard layout.
|
| manager_->GetCurrentInputMethod().id());
|
| EXPECT_EQ("us", xkeyboard_->last_layout_);
|
|
|
| // Unlock screen. The original state, pinyin-dv, is restored.
|
| manager_->SetState(InputMethodManager::STATE_BROWSER_SCREEN);
|
| EXPECT_EQ(3U, manager_->GetNumActiveInputMethods()); // Dvorak and 2 IMEs.
|
| - EXPECT_EQ(ids[1], manager_->GetCurrentInputMethod().id());
|
| + EXPECT_EQ(XkbId(ids[1]), manager_->GetCurrentInputMethod().id());
|
| EXPECT_EQ("us(dvorak)", xkeyboard_->last_layout_);
|
|
|
| manager_->RemoveObserver(&observer);
|
| @@ -731,27 +817,30 @@ TEST_F(InputMethodManagerImplTest, TestNextInputMethod) {
|
| // For http://crbug.com/19655#c11 - (1)
|
| manager_->EnableLoginLayouts("en-US", keyboard_layouts);
|
| EXPECT_EQ(5U, manager_->GetNumActiveInputMethods());
|
| - EXPECT_EQ("xkb:us::eng", manager_->GetCurrentInputMethod().id());
|
| + EXPECT_EQ(XkbId("xkb:us::eng"), manager_->GetCurrentInputMethod().id());
|
| EXPECT_EQ("us", xkeyboard_->last_layout_);
|
| manager_->SwitchToNextInputMethod();
|
| EXPECT_TRUE(observer.last_show_message_);
|
| - EXPECT_EQ("xkb:us:intl:eng", manager_->GetCurrentInputMethod().id());
|
| + EXPECT_EQ(XkbId("xkb:us:intl:eng"), manager_->GetCurrentInputMethod().id());
|
| EXPECT_EQ("us(intl)", xkeyboard_->last_layout_);
|
| manager_->SwitchToNextInputMethod();
|
| EXPECT_TRUE(observer.last_show_message_);
|
| - EXPECT_EQ("xkb:us:altgr-intl:eng", manager_->GetCurrentInputMethod().id());
|
| + EXPECT_EQ(XkbId("xkb:us:altgr-intl:eng"),
|
| + manager_->GetCurrentInputMethod().id());
|
| EXPECT_EQ("us(altgr-intl)", xkeyboard_->last_layout_);
|
| manager_->SwitchToNextInputMethod();
|
| EXPECT_TRUE(observer.last_show_message_);
|
| - EXPECT_EQ("xkb:us:dvorak:eng", manager_->GetCurrentInputMethod().id());
|
| + EXPECT_EQ(XkbId("xkb:us:dvorak:eng"),
|
| + manager_->GetCurrentInputMethod().id());
|
| EXPECT_EQ("us(dvorak)", xkeyboard_->last_layout_);
|
| manager_->SwitchToNextInputMethod();
|
| EXPECT_TRUE(observer.last_show_message_);
|
| - EXPECT_EQ("xkb:us:colemak:eng", manager_->GetCurrentInputMethod().id());
|
| + EXPECT_EQ(XkbId("xkb:us:colemak:eng"),
|
| + manager_->GetCurrentInputMethod().id());
|
| EXPECT_EQ("us(colemak)", xkeyboard_->last_layout_);
|
| manager_->SwitchToNextInputMethod();
|
| EXPECT_TRUE(observer.last_show_message_);
|
| - EXPECT_EQ("xkb:us::eng", manager_->GetCurrentInputMethod().id());
|
| + EXPECT_EQ(XkbId("xkb:us::eng"), manager_->GetCurrentInputMethod().id());
|
| EXPECT_EQ("us", xkeyboard_->last_layout_);
|
|
|
| manager_->RemoveObserver(&observer);
|
| @@ -771,44 +860,47 @@ TEST_F(InputMethodManagerImplTest, TestPreviousInputMethod) {
|
| keyboard_layouts.push_back("xkb:us::eng");
|
| manager_->EnableLoginLayouts("en-US", keyboard_layouts);
|
| EXPECT_EQ(5U, manager_->GetNumActiveInputMethods());
|
| - EXPECT_EQ("xkb:us::eng", manager_->GetCurrentInputMethod().id());
|
| + EXPECT_EQ(XkbId("xkb:us::eng"), manager_->GetCurrentInputMethod().id());
|
| EXPECT_EQ("us", xkeyboard_->last_layout_);
|
| EXPECT_TRUE(manager_->SwitchToNextInputMethod());
|
| EXPECT_TRUE(observer.last_show_message_);
|
| - EXPECT_EQ("xkb:us:intl:eng", manager_->GetCurrentInputMethod().id());
|
| + EXPECT_EQ(XkbId("xkb:us:intl:eng"),
|
| + manager_->GetCurrentInputMethod().id());
|
| EXPECT_EQ("us(intl)", xkeyboard_->last_layout_);
|
| EXPECT_TRUE(manager_->SwitchToPreviousInputMethod(keydown_accelerator));
|
| EXPECT_TRUE(manager_->SwitchToPreviousInputMethod(keyup_accelerator));
|
| EXPECT_TRUE(observer.last_show_message_);
|
| - EXPECT_EQ("xkb:us::eng", manager_->GetCurrentInputMethod().id());
|
| + EXPECT_EQ(XkbId("xkb:us::eng"), manager_->GetCurrentInputMethod().id());
|
| EXPECT_EQ("us", xkeyboard_->last_layout_);
|
| EXPECT_TRUE(manager_->SwitchToPreviousInputMethod(keydown_accelerator));
|
| EXPECT_TRUE(manager_->SwitchToPreviousInputMethod(keyup_accelerator));
|
| EXPECT_TRUE(observer.last_show_message_);
|
| - EXPECT_EQ("xkb:us:intl:eng", manager_->GetCurrentInputMethod().id());
|
| + EXPECT_EQ(XkbId("xkb:us:intl:eng"), manager_->GetCurrentInputMethod().id());
|
| EXPECT_EQ("us(intl)", xkeyboard_->last_layout_);
|
| EXPECT_TRUE(manager_->SwitchToPreviousInputMethod(keydown_accelerator));
|
| EXPECT_TRUE(manager_->SwitchToPreviousInputMethod(keyup_accelerator));
|
| EXPECT_TRUE(observer.last_show_message_);
|
| - EXPECT_EQ("xkb:us::eng", manager_->GetCurrentInputMethod().id());
|
| + EXPECT_EQ(XkbId("xkb:us::eng"), manager_->GetCurrentInputMethod().id());
|
| EXPECT_EQ("us", xkeyboard_->last_layout_);
|
| EXPECT_TRUE(manager_->SwitchToNextInputMethod());
|
| EXPECT_TRUE(observer.last_show_message_);
|
| - EXPECT_EQ("xkb:us:intl:eng", manager_->GetCurrentInputMethod().id());
|
| + EXPECT_EQ(XkbId("xkb:us:intl:eng"), manager_->GetCurrentInputMethod().id());
|
| EXPECT_EQ("us(intl)", xkeyboard_->last_layout_);
|
| EXPECT_TRUE(manager_->SwitchToNextInputMethod());
|
| EXPECT_TRUE(observer.last_show_message_);
|
| - EXPECT_EQ("xkb:us:altgr-intl:eng", manager_->GetCurrentInputMethod().id());
|
| + EXPECT_EQ(XkbId("xkb:us:altgr-intl:eng"),
|
| + manager_->GetCurrentInputMethod().id());
|
| EXPECT_EQ("us(altgr-intl)", xkeyboard_->last_layout_);
|
| EXPECT_TRUE(manager_->SwitchToPreviousInputMethod(keydown_accelerator));
|
| EXPECT_TRUE(manager_->SwitchToPreviousInputMethod(keyup_accelerator));
|
| EXPECT_TRUE(observer.last_show_message_);
|
| - EXPECT_EQ("xkb:us:intl:eng", manager_->GetCurrentInputMethod().id());
|
| + EXPECT_EQ(XkbId("xkb:us:intl:eng"), manager_->GetCurrentInputMethod().id());
|
| EXPECT_EQ("us(intl)", xkeyboard_->last_layout_);
|
| EXPECT_TRUE(manager_->SwitchToPreviousInputMethod(keydown_accelerator));
|
| EXPECT_TRUE(manager_->SwitchToPreviousInputMethod(keyup_accelerator));
|
| EXPECT_TRUE(observer.last_show_message_);
|
| - EXPECT_EQ("xkb:us:altgr-intl:eng", manager_->GetCurrentInputMethod().id());
|
| + EXPECT_EQ(XkbId("xkb:us:altgr-intl:eng"),
|
| + manager_->GetCurrentInputMethod().id());
|
| EXPECT_EQ("us(altgr-intl)", xkeyboard_->last_layout_);
|
|
|
| manager_->RemoveObserver(&observer);
|
| @@ -839,6 +931,7 @@ TEST_F(InputMethodManagerImplTest,
|
| }
|
|
|
| TEST_F(InputMethodManagerImplTest, TestSwitchInputMethodWithUsLayouts) {
|
| + std::string expect_id = XkbId("xkb:us::eng");
|
| TestObserver observer;
|
| manager_->AddObserver(&observer);
|
| InitComponentExtension();
|
| @@ -846,7 +939,7 @@ TEST_F(InputMethodManagerImplTest, TestSwitchInputMethodWithUsLayouts) {
|
| keyboard_layouts.push_back("xkb:us::eng");
|
| manager_->EnableLoginLayouts("en-US", keyboard_layouts);
|
| EXPECT_EQ(5U, manager_->GetNumActiveInputMethods());
|
| - EXPECT_EQ("xkb:us::eng", manager_->GetCurrentInputMethod().id());
|
| + EXPECT_EQ(expect_id, manager_->GetCurrentInputMethod().id());
|
| EXPECT_EQ("us", xkeyboard_->last_layout_);
|
|
|
| // Henkan, Muhenkan, ZenkakuHankaku should be ignored when no Japanese IMEs
|
| @@ -854,19 +947,19 @@ TEST_F(InputMethodManagerImplTest, TestSwitchInputMethodWithUsLayouts) {
|
| EXPECT_FALSE(manager_->SwitchInputMethod(
|
| ui::Accelerator(ui::VKEY_CONVERT, ui::EF_NONE)));
|
| EXPECT_FALSE(observer.last_show_message_);
|
| - EXPECT_EQ("xkb:us::eng", manager_->GetCurrentInputMethod().id());
|
| + EXPECT_EQ(expect_id, manager_->GetCurrentInputMethod().id());
|
| EXPECT_EQ("us", xkeyboard_->last_layout_);
|
| EXPECT_FALSE(manager_->SwitchInputMethod(
|
| ui::Accelerator(ui::VKEY_NONCONVERT, ui::EF_NONE)));
|
| - EXPECT_EQ("xkb:us::eng", manager_->GetCurrentInputMethod().id());
|
| + EXPECT_EQ(expect_id, manager_->GetCurrentInputMethod().id());
|
| EXPECT_EQ("us", xkeyboard_->last_layout_);
|
| EXPECT_FALSE(manager_->SwitchInputMethod(
|
| ui::Accelerator(ui::VKEY_DBE_SBCSCHAR, ui::EF_NONE)));
|
| - EXPECT_EQ("xkb:us::eng", manager_->GetCurrentInputMethod().id());
|
| + EXPECT_EQ(expect_id, manager_->GetCurrentInputMethod().id());
|
| EXPECT_EQ("us", xkeyboard_->last_layout_);
|
| EXPECT_FALSE(manager_->SwitchInputMethod(
|
| ui::Accelerator(ui::VKEY_DBE_DBCSCHAR, ui::EF_NONE)));
|
| - EXPECT_EQ("xkb:us::eng", manager_->GetCurrentInputMethod().id());
|
| + EXPECT_EQ(expect_id, manager_->GetCurrentInputMethod().id());
|
| EXPECT_EQ("us", xkeyboard_->last_layout_);
|
|
|
| manager_->RemoveObserver(&observer);
|
| @@ -885,27 +978,27 @@ TEST_F(InputMethodManagerImplTest, TestSwitchInputMethodWithJpLayout) {
|
| keyboard_layouts.push_back("xkb:us::eng");
|
| manager_->EnableLoginLayouts("ja", keyboard_layouts);
|
| EXPECT_EQ(2U, manager_->GetNumActiveInputMethods());
|
| - EXPECT_EQ("xkb:us::eng", manager_->GetCurrentInputMethod().id());
|
| + EXPECT_EQ(XkbId("xkb:us::eng"), manager_->GetCurrentInputMethod().id());
|
| EXPECT_EQ("us", xkeyboard_->last_layout_);
|
| EXPECT_TRUE(manager_->SwitchInputMethod(
|
| ui::Accelerator(ui::VKEY_NONCONVERT, ui::EF_NONE)));
|
| - EXPECT_EQ("xkb:jp::jpn", manager_->GetCurrentInputMethod().id());
|
| + EXPECT_EQ(XkbId("xkb:jp::jpn"), manager_->GetCurrentInputMethod().id());
|
| EXPECT_EQ("jp", xkeyboard_->last_layout_);
|
| EXPECT_TRUE(manager_->SwitchToPreviousInputMethod(keydown_accelerator));
|
| EXPECT_TRUE(manager_->SwitchToPreviousInputMethod(keyup_accelerator));
|
| - EXPECT_EQ("xkb:us::eng", manager_->GetCurrentInputMethod().id());
|
| + EXPECT_EQ(XkbId("xkb:us::eng"), manager_->GetCurrentInputMethod().id());
|
| EXPECT_EQ("us", xkeyboard_->last_layout_);
|
| EXPECT_TRUE(manager_->SwitchInputMethod(
|
| ui::Accelerator(ui::VKEY_DBE_SBCSCHAR, ui::EF_NONE)));
|
| - EXPECT_EQ("xkb:jp::jpn", manager_->GetCurrentInputMethod().id());
|
| + EXPECT_EQ(XkbId("xkb:jp::jpn"), manager_->GetCurrentInputMethod().id());
|
| EXPECT_EQ("jp", xkeyboard_->last_layout_);
|
| EXPECT_TRUE(manager_->SwitchToPreviousInputMethod(keydown_accelerator));
|
| EXPECT_TRUE(manager_->SwitchToPreviousInputMethod(keyup_accelerator));
|
| - EXPECT_EQ("xkb:us::eng", manager_->GetCurrentInputMethod().id());
|
| + EXPECT_EQ(XkbId("xkb:us::eng"), manager_->GetCurrentInputMethod().id());
|
| EXPECT_EQ("us", xkeyboard_->last_layout_);
|
| EXPECT_TRUE(manager_->SwitchInputMethod(
|
| ui::Accelerator(ui::VKEY_DBE_DBCSCHAR, ui::EF_NONE)));
|
| - EXPECT_EQ("xkb:jp::jpn", manager_->GetCurrentInputMethod().id());
|
| + EXPECT_EQ(XkbId("xkb:jp::jpn"), manager_->GetCurrentInputMethod().id());
|
| EXPECT_EQ("jp", xkeyboard_->last_layout_);
|
| }
|
|
|
| @@ -916,7 +1009,7 @@ TEST_F(InputMethodManagerImplTest, TestSwitchInputMethodWithJpIme) {
|
| ids.push_back("xkb:jp::jpn");
|
| ids.push_back(kNaclMozcJpId);
|
| EXPECT_TRUE(manager_->ReplaceEnabledInputMethods(ids));
|
| - EXPECT_EQ("xkb:jp::jpn", manager_->GetCurrentInputMethod().id());
|
| + EXPECT_EQ(XkbId("xkb:jp::jpn"), manager_->GetCurrentInputMethod().id());
|
| EXPECT_EQ("jp", xkeyboard_->last_layout_);
|
| EXPECT_TRUE(manager_->SwitchInputMethod(
|
| ui::Accelerator(ui::VKEY_DBE_DBCSCHAR, ui::EF_NONE)));
|
| @@ -924,7 +1017,7 @@ TEST_F(InputMethodManagerImplTest, TestSwitchInputMethodWithJpIme) {
|
| EXPECT_EQ("jp", xkeyboard_->last_layout_);
|
| EXPECT_TRUE(manager_->SwitchInputMethod(
|
| ui::Accelerator(ui::VKEY_DBE_DBCSCHAR, ui::EF_NONE)));
|
| - EXPECT_EQ("xkb:jp::jpn", manager_->GetCurrentInputMethod().id());
|
| + EXPECT_EQ(XkbId("xkb:jp::jpn"), manager_->GetCurrentInputMethod().id());
|
| EXPECT_EQ("jp", xkeyboard_->last_layout_);
|
| EXPECT_TRUE(manager_->SwitchInputMethod(
|
| ui::Accelerator(ui::VKEY_CONVERT, ui::EF_NONE)));
|
| @@ -936,17 +1029,17 @@ TEST_F(InputMethodManagerImplTest, TestSwitchInputMethodWithJpIme) {
|
| EXPECT_EQ("jp", xkeyboard_->last_layout_);
|
| EXPECT_TRUE(manager_->SwitchInputMethod(
|
| ui::Accelerator(ui::VKEY_NONCONVERT, ui::EF_NONE)));
|
| - EXPECT_EQ("xkb:jp::jpn", manager_->GetCurrentInputMethod().id());
|
| + EXPECT_EQ(XkbId("xkb:jp::jpn"), manager_->GetCurrentInputMethod().id());
|
| EXPECT_EQ("jp", xkeyboard_->last_layout_);
|
| EXPECT_TRUE(manager_->SwitchInputMethod(
|
| ui::Accelerator(ui::VKEY_NONCONVERT, ui::EF_NONE)));
|
| - EXPECT_EQ("xkb:jp::jpn", manager_->GetCurrentInputMethod().id());
|
| + EXPECT_EQ(XkbId("xkb:jp::jpn"), manager_->GetCurrentInputMethod().id());
|
| EXPECT_EQ("jp", xkeyboard_->last_layout_);
|
|
|
| // Add Dvorak.
|
| ids.push_back("xkb:us:dvorak:eng");
|
| EXPECT_TRUE(manager_->ReplaceEnabledInputMethods(ids));
|
| - EXPECT_EQ("xkb:jp::jpn", manager_->GetCurrentInputMethod().id());
|
| + EXPECT_EQ(XkbId("xkb:jp::jpn"), manager_->GetCurrentInputMethod().id());
|
| EXPECT_EQ("jp", xkeyboard_->last_layout_);
|
| EXPECT_TRUE(manager_->SwitchInputMethod(
|
| ui::Accelerator(ui::VKEY_DBE_SBCSCHAR, ui::EF_NONE)));
|
| @@ -954,7 +1047,7 @@ TEST_F(InputMethodManagerImplTest, TestSwitchInputMethodWithJpIme) {
|
| EXPECT_EQ("jp", xkeyboard_->last_layout_);
|
| EXPECT_TRUE(manager_->SwitchInputMethod(
|
| ui::Accelerator(ui::VKEY_DBE_SBCSCHAR, ui::EF_NONE)));
|
| - EXPECT_EQ("xkb:jp::jpn", manager_->GetCurrentInputMethod().id());
|
| + EXPECT_EQ(XkbId("xkb:jp::jpn"), manager_->GetCurrentInputMethod().id());
|
| EXPECT_EQ("jp", xkeyboard_->last_layout_);
|
| }
|
|
|
| @@ -968,7 +1061,7 @@ TEST_F(InputMethodManagerImplTest, TestAddRemoveExtensionInputMethods) {
|
| EXPECT_TRUE(manager_->ReplaceEnabledInputMethods(ids));
|
| EXPECT_EQ(1U, manager_->GetNumActiveInputMethods());
|
| EXPECT_EQ(1, observer.input_method_changed_count_);
|
| - EXPECT_EQ(ids[0],
|
| + EXPECT_EQ(XkbId(ids[0]),
|
| manager_->GetCurrentInputMethod().id());
|
| EXPECT_EQ("us(dvorak)", xkeyboard_->last_layout_);
|
|
|
| @@ -1050,7 +1143,7 @@ TEST_F(InputMethodManagerImplTest, TestAddExtensionInputThenLockScreen) {
|
| EXPECT_TRUE(manager_->ReplaceEnabledInputMethods(ids));
|
| EXPECT_EQ(1U, manager_->GetNumActiveInputMethods());
|
| EXPECT_EQ(1, observer.input_method_changed_count_);
|
| - EXPECT_EQ(ids[0], manager_->GetCurrentInputMethod().id());
|
| + EXPECT_EQ(XkbId(ids[0]), manager_->GetCurrentInputMethod().id());
|
| EXPECT_EQ("us", xkeyboard_->last_layout_);
|
|
|
| // Add an Extension IME.
|
| @@ -1090,7 +1183,7 @@ TEST_F(InputMethodManagerImplTest, TestAddExtensionInputThenLockScreen) {
|
| // Lock the screen. This is for crosbug.com/27049.
|
| manager_->SetState(InputMethodManager::STATE_LOCK_SCREEN);
|
| EXPECT_EQ(1U, manager_->GetNumActiveInputMethods()); // Qwerty. No Ext. IME
|
| - EXPECT_EQ("xkb:us::eng",
|
| + EXPECT_EQ(XkbId("xkb:us::eng"),
|
| manager_->GetCurrentInputMethod().id());
|
| EXPECT_EQ("us", xkeyboard_->last_layout_);
|
|
|
| @@ -1142,8 +1235,8 @@ TEST_F(InputMethodManagerImplTest,
|
| ChangeInputMethodBeforeComponentExtensionInitialization_CompOneIME) {
|
| manager_->SetState(InputMethodManager::STATE_BROWSER_SCREEN);
|
| const std::string ext_id = extension_ime_util::GetComponentInputMethodID(
|
| - ime_list_[0].id,
|
| - ime_list_[0].engines[0].engine_id);
|
| + ime_list_[1].id,
|
| + ime_list_[1].engines[0].engine_id);
|
| std::vector<std::string> ids;
|
| ids.push_back(ext_id);
|
| EXPECT_TRUE(manager_->ReplaceEnabledInputMethods(ids));
|
| @@ -1158,11 +1251,11 @@ TEST_F(InputMethodManagerImplTest,
|
| ChangeInputMethodBeforeComponentExtensionInitialization_CompTwoIME) {
|
| manager_->SetState(InputMethodManager::STATE_BROWSER_SCREEN);
|
| const std::string ext_id1 = extension_ime_util::GetComponentInputMethodID(
|
| - ime_list_[0].id,
|
| - ime_list_[0].engines[0].engine_id);
|
| - const std::string ext_id2 = extension_ime_util::GetComponentInputMethodID(
|
| ime_list_[1].id,
|
| ime_list_[1].engines[0].engine_id);
|
| + const std::string ext_id2 = extension_ime_util::GetComponentInputMethodID(
|
| + ime_list_[2].id,
|
| + ime_list_[2].engines[0].engine_id);
|
| std::vector<std::string> ids;
|
| ids.push_back(ext_id1);
|
| ids.push_back(ext_id2);
|
| @@ -1180,8 +1273,8 @@ TEST_F(InputMethodManagerImplTest,
|
| InitComponentExtension();
|
| manager_->SetState(InputMethodManager::STATE_BROWSER_SCREEN);
|
| const std::string ext_id = extension_ime_util::GetComponentInputMethodID(
|
| - ime_list_[0].id,
|
| - ime_list_[0].engines[0].engine_id);
|
| + ime_list_[1].id,
|
| + ime_list_[1].engines[0].engine_id);
|
| std::vector<std::string> ids;
|
| ids.push_back(ext_id);
|
| EXPECT_TRUE(manager_->ReplaceEnabledInputMethods(ids));
|
| @@ -1194,11 +1287,11 @@ TEST_F(InputMethodManagerImplTest,
|
| InitComponentExtension();
|
| manager_->SetState(InputMethodManager::STATE_BROWSER_SCREEN);
|
| const std::string ext_id1 = extension_ime_util::GetComponentInputMethodID(
|
| - ime_list_[0].id,
|
| - ime_list_[0].engines[0].engine_id);
|
| - const std::string ext_id2 = extension_ime_util::GetComponentInputMethodID(
|
| ime_list_[1].id,
|
| ime_list_[1].engines[0].engine_id);
|
| + const std::string ext_id2 = extension_ime_util::GetComponentInputMethodID(
|
| + ime_list_[2].id,
|
| + ime_list_[2].engines[0].engine_id);
|
| std::vector<std::string> ids;
|
| ids.push_back(ext_id1);
|
| ids.push_back(ext_id2);
|
| @@ -1209,5 +1302,53 @@ TEST_F(InputMethodManagerImplTest,
|
| EXPECT_EQ(ext_id2, manager_->GetCurrentInputMethod().id());
|
| }
|
|
|
| +TEST_F(InputMethodManagerImplTest, MigrateXkbInputMethodTest_1) {
|
| + extension_ime_util::ScopedUseExtensionKeyboardFlagForTesting
|
| + scoped_flag(true);
|
| +
|
| + std::vector<std::string> input_method_ids;
|
| + input_method_ids.push_back("xkb:us::eng");
|
| + input_method_ids.push_back("xkb:fr::fra");
|
| + input_method_ids.push_back(
|
| + "_comp_ime_fgoepimhcoialccpbmpnnblemnepkkaoxkb:us::eng");
|
| + input_method_ids.push_back("xkb:fr::fra");
|
| + input_method_ids.push_back(
|
| + "_comp_ime_fgoepimhcoialccpbmpnnblemnepkkaoxkb:us::eng");
|
| + input_method_ids.push_back("_comp_ime_asdf_pinyin");
|
| +
|
| + manager_->MigrateXkbInputMethods(&input_method_ids);
|
| +
|
| + ASSERT_EQ(3U, input_method_ids.size());
|
| +
|
| + EXPECT_EQ("_comp_ime_fgoepimhcoialccpbmpnnblemnepkkaoxkb:us::eng",
|
| + input_method_ids[0]);
|
| + EXPECT_EQ("_comp_ime_fgoepimhcoialccpbmpnnblemnepkkaoxkb:fr::fra",
|
| + input_method_ids[1]);
|
| + EXPECT_EQ("_comp_ime_asdf_pinyin", input_method_ids[2]);
|
| +}
|
| +
|
| +TEST_F(InputMethodManagerImplTest, MigrateXkbInputMethodTest_2) {
|
| + extension_ime_util::ScopedUseExtensionKeyboardFlagForTesting
|
| + scoped_flag(false);
|
| +
|
| + std::vector<std::string> input_method_ids;
|
| + input_method_ids.push_back("xkb:us::eng");
|
| + input_method_ids.push_back("xkb:fr::fra");
|
| + input_method_ids.push_back(
|
| + "_comp_ime_fgoepimhcoialccpbmpnnblemnepkkaoxkb:us::eng");
|
| + input_method_ids.push_back("xkb:fr::fra");
|
| + input_method_ids.push_back(
|
| + "_comp_ime_fgoepimhcoialccpbmpnnblemnepkkaoxkb:us::eng");
|
| + input_method_ids.push_back("_comp_ime_asdf_pinyin");
|
| +
|
| + manager_->MigrateXkbInputMethods(&input_method_ids);
|
| +
|
| + ASSERT_EQ(3U, input_method_ids.size());
|
| +
|
| + EXPECT_EQ("xkb:us::eng", input_method_ids[0]);
|
| + EXPECT_EQ("xkb:fr::fra", input_method_ids[1]);
|
| + EXPECT_EQ("_comp_ime_asdf_pinyin", input_method_ids[2]);
|
| +}
|
| +
|
| } // namespace input_method
|
| } // namespace chromeos
|
|
|