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 7fb81c48ab59e28b02ca289e73374f1047c32cac..0c9520d438a3cdee390c8148c2a300df0262b5fd 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 |
@@ -94,13 +94,6 @@ class InputMethodManagerImplTest : public testing::Test { |
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"; |
@@ -115,12 +108,12 @@ class InputMethodManagerImplTest : public testing::Test { |
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_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_colemak; |
ext_xkb_engine_colemak.engine_id = "xkb:us:colemak:eng"; |
@@ -129,6 +122,13 @@ class InputMethodManagerImplTest : public testing::Test { |
ext_xkb_engine_colemak.layouts.push_back("us(colemak)"); |
ext_xkb.engines.push_back(ext_xkb_engine_colemak); |
+ 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_se; |
ext_xkb_engine_se.engine_id = "xkb:se::swe"; |
ext_xkb_engine_se.display_name = "xkb:se::swe"; |
@@ -356,23 +356,27 @@ TEST_F(InputMethodManagerImplTest, TestObserver) { |
TEST_F(InputMethodManagerImplTest, TestGetSupportedInputMethods) { |
InitComponentExtension(); |
- scoped_ptr<InputMethodDescriptors> methods( |
- manager_->GetSupportedInputMethods()); |
- ASSERT_TRUE(methods.get()); |
+ InputMethodDescriptors methods; |
+ if (extension_ime_util::UseWrappedExtensionKeyboardLayouts()) { |
+ methods = manager_->GetComponentExtensionIMEManager() |
+ ->GetXkbIMEAsInputMethodDescriptor(); |
+ } else { |
+ methods = *(manager_->GetSupportedInputMethods()); |
+ } |
// Try to find random 4-5 layuts and IMEs to make sure the returned list is |
// correct. |
const InputMethodDescriptor* id_to_find = |
manager_->GetInputMethodUtil()->GetInputMethodDescriptorFromId( |
kNaclMozcUsId); |
id_to_find = manager_->GetInputMethodUtil()->GetInputMethodDescriptorFromId( |
- "xkb:us::eng"); |
- EXPECT_TRUE(Contain(*methods.get(), *id_to_find)); |
+ XkbId("xkb:us::eng")); |
+ EXPECT_TRUE(Contain(methods, *id_to_find)); |
id_to_find = manager_->GetInputMethodUtil()->GetInputMethodDescriptorFromId( |
- "xkb:us:dvorak:eng"); |
- EXPECT_TRUE(Contain(*methods.get(), *id_to_find)); |
+ XkbId("xkb:us:dvorak:eng")); |
+ EXPECT_TRUE(Contain(methods, *id_to_find)); |
id_to_find = manager_->GetInputMethodUtil()->GetInputMethodDescriptorFromId( |
- "xkb:fr::fra"); |
- EXPECT_TRUE(Contain(*methods.get(), *id_to_find)); |
+ XkbId("xkb:fr::fra")); |
+ EXPECT_TRUE(Contain(methods, *id_to_find)); |
} |
TEST_F(InputMethodManagerImplTest, TestEnableLayouts) { |
@@ -393,7 +397,7 @@ TEST_F(InputMethodManagerImplTest, TestEnableLayouts) { |
TEST_F(InputMethodManagerImplTest, TestEnableLayoutsAndCurrentInputMethod) { |
// For http://crbug.com/329061 |
std::vector<std::string> keyboard_layouts; |
- keyboard_layouts.push_back("xkb:se::swe"); |
+ keyboard_layouts.push_back(XkbId("xkb:se::swe")); |
InitComponentExtension(); |
manager_->EnableLoginLayouts("en-US", keyboard_layouts); |
@@ -481,8 +485,8 @@ TEST_F(InputMethodManagerImplTest, TestEnableTwoLayouts) { |
InitComponentExtension(); |
manager_->SetState(InputMethodManager::STATE_BROWSER_SCREEN); |
std::vector<std::string> ids; |
- ids.push_back("xkb:us:dvorak:eng"); |
- ids.push_back("xkb:us:colemak:eng"); |
+ ids.push_back(XkbId("xkb:us:dvorak:eng")); |
+ ids.push_back(XkbId("xkb:us:colemak:eng")); |
EXPECT_TRUE(manager_->ReplaceEnabledInputMethods(ids)); |
EXPECT_EQ(2U, manager_->GetNumActiveInputMethods()); |
// Since all the IDs added avobe are keyboard layouts, Start() should not be |
@@ -508,9 +512,9 @@ TEST_F(InputMethodManagerImplTest, TestEnableThreeLayouts) { |
InitComponentExtension(); |
manager_->SetState(InputMethodManager::STATE_BROWSER_SCREEN); |
std::vector<std::string> ids; |
- ids.push_back("xkb:us::eng"); |
- ids.push_back("xkb:us:dvorak:eng"); |
- ids.push_back("xkb:us:colemak:eng"); |
+ ids.push_back(XkbId("xkb:us::eng")); |
+ ids.push_back(XkbId("xkb:us:dvorak:eng")); |
+ ids.push_back(XkbId("xkb:us:colemak:eng")); |
EXPECT_TRUE(manager_->ReplaceEnabledInputMethods(ids)); |
EXPECT_EQ(3U, manager_->GetNumActiveInputMethods()); |
EXPECT_EQ(1, observer.input_method_changed_count_); |
@@ -539,7 +543,7 @@ TEST_F(InputMethodManagerImplTest, TestEnableLayoutAndIme) { |
InitComponentExtension(); |
manager_->SetState(InputMethodManager::STATE_BROWSER_SCREEN); |
std::vector<std::string> ids; |
- ids.push_back("xkb:us:dvorak:eng"); |
+ ids.push_back(XkbId("xkb:us:dvorak:eng")); |
ids.push_back(kNaclMozcUsId); |
EXPECT_TRUE(manager_->ReplaceEnabledInputMethods(ids)); |
EXPECT_EQ(1, observer.input_method_changed_count_); |
@@ -565,7 +569,7 @@ TEST_F(InputMethodManagerImplTest, TestEnableLayoutAndIme2) { |
InitComponentExtension(); |
manager_->SetState(InputMethodManager::STATE_BROWSER_SCREEN); |
std::vector<std::string> ids; |
- ids.push_back("xkb:us:dvorak:eng"); |
+ ids.push_back(XkbId("xkb:us:dvorak:eng")); |
ids.push_back(kNaclMozcUsId); |
EXPECT_TRUE(manager_->ReplaceEnabledInputMethods(ids)); |
EXPECT_EQ(1, observer.input_method_changed_count_); |
@@ -620,8 +624,8 @@ TEST_F(InputMethodManagerImplTest, TestEnableLayoutsThenLock) { |
InitComponentExtension(); |
manager_->SetState(InputMethodManager::STATE_BROWSER_SCREEN); |
std::vector<std::string> ids; |
- ids.push_back("xkb:us::eng"); |
- ids.push_back("xkb:us:dvorak:eng"); |
+ ids.push_back(XkbId("xkb:us::eng")); |
+ ids.push_back(XkbId("xkb:us:dvorak:eng")); |
EXPECT_TRUE(manager_->ReplaceEnabledInputMethods(ids)); |
EXPECT_EQ(2U, manager_->GetNumActiveInputMethods()); |
EXPECT_EQ(1, observer.input_method_changed_count_); |
@@ -661,7 +665,7 @@ TEST_F(InputMethodManagerImplTest, SwitchInputMethodTest) { |
InitComponentExtension(); |
manager_->SetState(InputMethodManager::STATE_BROWSER_SCREEN); |
std::vector<std::string> ids; |
- ids.push_back("xkb:us:dvorak:eng"); |
+ ids.push_back(XkbId("xkb:us:dvorak:eng")); |
ids.push_back(kExt2Engine2Id); |
ids.push_back(kExt2Engine1Id); |
EXPECT_TRUE(manager_->ReplaceEnabledInputMethods(ids)); |
@@ -701,8 +705,8 @@ TEST_F(InputMethodManagerImplTest, TestXkbSetting) { |
InitComponentExtension(); |
manager_->SetState(InputMethodManager::STATE_BROWSER_SCREEN); |
std::vector<std::string> ids; |
- ids.push_back("xkb:us:dvorak:eng"); |
- ids.push_back("xkb:us:colemak:eng"); |
+ ids.push_back(XkbId("xkb:us:dvorak:eng")); |
+ ids.push_back(XkbId("xkb:us:colemak:eng")); |
ids.push_back(kNaclMozcJpId); |
ids.push_back(kNaclMozcUsId); |
EXPECT_TRUE(manager_->ReplaceEnabledInputMethods(ids)); |
@@ -751,7 +755,7 @@ TEST_F(InputMethodManagerImplTest, TestGetCurrentInputMethodProperties) { |
manager_->SetState(InputMethodManager::STATE_BROWSER_SCREEN); |
std::vector<std::string> ids; |
- ids.push_back("xkb:us::eng"); |
+ ids.push_back(XkbId("xkb:us::eng")); |
ids.push_back(kNaclMozcUsId); |
EXPECT_TRUE(manager_->ReplaceEnabledInputMethods(ids)); |
EXPECT_EQ(2U, manager_->GetNumActiveInputMethods()); |
@@ -813,7 +817,7 @@ TEST_F(InputMethodManagerImplTest, TestNextInputMethod) { |
manager_->AddObserver(&observer); |
InitComponentExtension(); |
std::vector<std::string> keyboard_layouts; |
- keyboard_layouts.push_back("xkb:us::eng"); |
+ keyboard_layouts.push_back(XkbId("xkb:us::eng")); |
// For http://crbug.com/19655#c11 - (1) |
manager_->EnableLoginLayouts("en-US", keyboard_layouts); |
EXPECT_EQ(5U, manager_->GetNumActiveInputMethods()); |
@@ -857,7 +861,7 @@ TEST_F(InputMethodManagerImplTest, TestPreviousInputMethod) { |
keyup_accelerator.set_type(ui::ET_KEY_RELEASED); |
std::vector<std::string> keyboard_layouts; |
- keyboard_layouts.push_back("xkb:us::eng"); |
+ keyboard_layouts.push_back(XkbId("xkb:us::eng")); |
manager_->EnableLoginLayouts("en-US", keyboard_layouts); |
EXPECT_EQ(5U, manager_->GetNumActiveInputMethods()); |
EXPECT_EQ(XkbId("xkb:us::eng"), manager_->GetCurrentInputMethod().id()); |
@@ -918,7 +922,7 @@ TEST_F(InputMethodManagerImplTest, |
keyup_accelerator.set_type(ui::ET_KEY_RELEASED); |
std::vector<std::string> ids; |
- ids.push_back("xkb:us:dvorak:eng"); |
+ ids.push_back(XkbId("xkb:us:dvorak:eng")); |
EXPECT_TRUE(manager_->ReplaceEnabledInputMethods(ids)); |
EXPECT_EQ(1U, manager_->GetNumActiveInputMethods()); |
@@ -936,7 +940,7 @@ TEST_F(InputMethodManagerImplTest, TestSwitchInputMethodWithUsLayouts) { |
manager_->AddObserver(&observer); |
InitComponentExtension(); |
std::vector<std::string> keyboard_layouts; |
- keyboard_layouts.push_back("xkb:us::eng"); |
+ keyboard_layouts.push_back(XkbId("xkb:us::eng")); |
manager_->EnableLoginLayouts("en-US", keyboard_layouts); |
EXPECT_EQ(5U, manager_->GetNumActiveInputMethods()); |
EXPECT_EQ(expect_id, manager_->GetCurrentInputMethod().id()); |
@@ -975,7 +979,7 @@ TEST_F(InputMethodManagerImplTest, TestSwitchInputMethodWithJpLayout) { |
keyup_accelerator.set_type(ui::ET_KEY_RELEASED); |
std::vector<std::string> keyboard_layouts; |
- keyboard_layouts.push_back("xkb:us::eng"); |
+ keyboard_layouts.push_back(XkbId("xkb:us::eng")); |
manager_->EnableLoginLayouts("ja", keyboard_layouts); |
EXPECT_EQ(2U, manager_->GetNumActiveInputMethods()); |
EXPECT_EQ(XkbId("xkb:us::eng"), manager_->GetCurrentInputMethod().id()); |
@@ -1006,7 +1010,7 @@ TEST_F(InputMethodManagerImplTest, TestSwitchInputMethodWithJpIme) { |
InitComponentExtension(); |
manager_->SetState(InputMethodManager::STATE_BROWSER_SCREEN); |
std::vector<std::string> ids; |
- ids.push_back("xkb:jp::jpn"); |
+ ids.push_back(XkbId("xkb:jp::jpn")); |
ids.push_back(kNaclMozcJpId); |
EXPECT_TRUE(manager_->ReplaceEnabledInputMethods(ids)); |
EXPECT_EQ(XkbId("xkb:jp::jpn"), manager_->GetCurrentInputMethod().id()); |
@@ -1037,7 +1041,7 @@ TEST_F(InputMethodManagerImplTest, TestSwitchInputMethodWithJpIme) { |
EXPECT_EQ("jp", xkeyboard_->last_layout_); |
// Add Dvorak. |
- ids.push_back("xkb:us:dvorak:eng"); |
+ ids.push_back(XkbId("xkb:us:dvorak:eng")); |
EXPECT_TRUE(manager_->ReplaceEnabledInputMethods(ids)); |
EXPECT_EQ(XkbId("xkb:jp::jpn"), manager_->GetCurrentInputMethod().id()); |
EXPECT_EQ("jp", xkeyboard_->last_layout_); |
@@ -1057,7 +1061,7 @@ TEST_F(InputMethodManagerImplTest, TestAddRemoveExtensionInputMethods) { |
InitComponentExtension(); |
manager_->SetState(InputMethodManager::STATE_BROWSER_SCREEN); |
std::vector<std::string> ids; |
- ids.push_back("xkb:us:dvorak:eng"); |
+ ids.push_back(XkbId("xkb:us:dvorak:eng")); |
EXPECT_TRUE(manager_->ReplaceEnabledInputMethods(ids)); |
EXPECT_EQ(1U, manager_->GetNumActiveInputMethods()); |
EXPECT_EQ(1, observer.input_method_changed_count_); |
@@ -1139,7 +1143,7 @@ TEST_F(InputMethodManagerImplTest, TestAddExtensionInputThenLockScreen) { |
manager_->AddObserver(&observer); |
manager_->SetState(InputMethodManager::STATE_BROWSER_SCREEN); |
std::vector<std::string> ids; |
- ids.push_back("xkb:us::eng"); |
+ ids.push_back(XkbId("xkb:us::eng")); |
EXPECT_TRUE(manager_->ReplaceEnabledInputMethods(ids)); |
EXPECT_EQ(1U, manager_->GetNumActiveInputMethods()); |
EXPECT_EQ(1, observer.input_method_changed_count_); |