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

Unified Diff: chrome/browser/chromeos/input_method/input_method_util_unittest.cc

Issue 17266002: Replace Chinese Input with migration code. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Rebasing Created 7 years, 6 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 side-by-side diff with in-line comments
Download patch
Index: chrome/browser/chromeos/input_method/input_method_util_unittest.cc
diff --git a/chrome/browser/chromeos/input_method/input_method_util_unittest.cc b/chrome/browser/chromeos/input_method/input_method_util_unittest.cc
index 7a4a33fb249b2464d3655ed3e9e7041c42ec73ac..807cb3dafbd20c31fa82f83854c4247b142647c5 100644
--- a/chrome/browser/chromeos/input_method/input_method_util_unittest.cc
+++ b/chrome/browser/chromeos/input_method/input_method_util_unittest.cc
@@ -24,6 +24,11 @@ namespace input_method {
namespace {
+const char pinyin_ime_id[] =
+ "_comp_ime_nmblnjkfdkabgdofidlkienfnnbjhnabzh-t-i0-pinyin";
+const char zhuyin_ime_id[] =
+ "_comp_ime_goedamlknlnjaengojinmfgpmdjmkooozh-hant-t-i0-und";
+
class TestableInputMethodUtil : public InputMethodUtil {
public:
explicit TestableInputMethodUtil(InputMethodDelegate* delegate,
@@ -49,6 +54,33 @@ class InputMethodUtilTest : public testing::Test {
base::Bind(&InputMethodUtilTest::GetDisplayLanguageName));
}
+ virtual void SetUp() OVERRIDE {
+ InputMethodDescriptors input_methods;
+
+ std::vector<std::string> layouts;
+ std::vector<std::string> languages;
+ layouts.push_back("us");
+ languages.push_back("zh-CN");
+
+ InputMethodDescriptor pinyin_ime(pinyin_ime_id,
+ "Pinyin input for testing",
+ layouts,
+ languages,
+ GURL(""));
+ input_methods.push_back(pinyin_ime);
+
+ languages.clear();
+ languages.push_back("zh-TW");
+ InputMethodDescriptor zhuyin_ime(zhuyin_ime_id,
+ "Zhuyin input for testing",
+ layouts,
+ languages,
+ GURL(""));
+ input_methods.push_back(zhuyin_ime);
+
+ util_.SetComponentExtensions(input_methods);
+ }
+
InputMethodDescriptor GetDesc(const std::string& id,
const std::string& raw_layout,
const std::string& language_code) {
@@ -118,17 +150,12 @@ TEST_F(InputMethodUtilTest, GetInputMethodShortNameTest) {
EXPECT_EQ(ASCIIToUTF16("CAS"), util_.GetInputMethodShortName(desc));
}
{
- InputMethodDescriptor desc = GetDesc("pinyin", "us", "zh-CN");
+ InputMethodDescriptor desc = GetDesc(pinyin_ime_id, "us", "zh-CN");
EXPECT_EQ(UTF8ToUTF16("\xe6\x8b\xbc"),
util_.GetInputMethodShortName(desc));
}
{
- InputMethodDescriptor desc = GetDesc("pinyin-dv", "us(dvorak)", "zh-CN");
- EXPECT_EQ(UTF8ToUTF16("\xe6\x8b\xbc"),
- util_.GetInputMethodShortName(desc));
- }
- {
- InputMethodDescriptor desc = GetDesc("mozc-chewing", "us", "zh-TW");
+ InputMethodDescriptor desc = GetDesc(zhuyin_ime_id, "us", "zh-TW");
EXPECT_EQ(UTF8ToUTF16("\xe9\x85\xb7"),
util_.GetInputMethodShortName(desc));
}
@@ -170,12 +197,11 @@ TEST_F(InputMethodUtilTest, GetInputMethodMediumNameTest) {
const char * input_method_id[] = {
"m17n:zh:cangjie",
"m17n:zh:quick",
- "pinyin",
- "mozc-chewing",
+ pinyin_ime_id,
+ zhuyin_ime_id,
"mozc-hangul",
- "pinyin",
- "pinyin",
- "pinyin-dv",
+ pinyin_ime_id,
+ pinyin_ime_id,
};
const int len = ARRAYSIZE_UNSAFE(input_method_id);
for (int i=0; i<len; ++i) {
@@ -206,11 +232,6 @@ TEST_F(InputMethodUtilTest, GetInputMethodLongNameTest) {
util_.GetInputMethodLongName(desc));
}
{
- InputMethodDescriptor desc = GetDesc("pinyin", "us", "ja");
- EXPECT_EQ(ASCIIToUTF16("Pinyin input method"),
- util_.GetInputMethodLongName(desc));
- }
- {
InputMethodDescriptor desc = GetDesc("xkb:jp::jpn", "jp", "ja");
EXPECT_EQ(ASCIIToUTF16("Japanese keyboard"),
util_.GetInputMethodLongName(desc));
@@ -275,20 +296,15 @@ TEST_F(InputMethodUtilTest, GetInputMethodLongNameTest) {
}
}
-TEST_F(InputMethodUtilTest, TestGetStringUTF8) {
- EXPECT_EQ(UTF8ToUTF16("Pinyin input method"),
- util_.TranslateString("pinyin"));
-}
-
TEST_F(InputMethodUtilTest, TestIsValidInputMethodId) {
EXPECT_TRUE(util_.IsValidInputMethodId("xkb:us:colemak:eng"));
- EXPECT_TRUE(util_.IsValidInputMethodId("pinyin"));
+ EXPECT_TRUE(util_.IsValidInputMethodId(pinyin_ime_id));
EXPECT_FALSE(util_.IsValidInputMethodId("unsupported-input-method"));
}
TEST_F(InputMethodUtilTest, TestIsKeyboardLayout) {
EXPECT_TRUE(InputMethodUtil::IsKeyboardLayout("xkb:us::eng"));
- EXPECT_FALSE(InputMethodUtil::IsKeyboardLayout("pinyin"));
+ EXPECT_FALSE(InputMethodUtil::IsKeyboardLayout(pinyin_ime_id));
}
TEST_F(InputMethodUtilTest, TestGetKeyboardLayoutName) {
@@ -296,8 +312,7 @@ TEST_F(InputMethodUtilTest, TestGetKeyboardLayoutName) {
EXPECT_EQ("", util_.GetKeyboardLayoutName("UNSUPPORTED_ID"));
// Supported cases (samples).
- EXPECT_EQ("us", util_.GetKeyboardLayoutName("pinyin"));
- EXPECT_EQ("us(dvorak)", util_.GetKeyboardLayoutName("pinyin-dv"));
+ EXPECT_EQ("us", util_.GetKeyboardLayoutName(pinyin_ime_id));
EXPECT_EQ("us", util_.GetKeyboardLayoutName("m17n:ar:kbd"));
EXPECT_EQ("es", util_.GetKeyboardLayoutName("xkb:es::spa"));
EXPECT_EQ("es(cat)", util_.GetKeyboardLayoutName("xkb:es:cat:cat"));
@@ -310,12 +325,10 @@ TEST_F(InputMethodUtilTest, TestGetKeyboardLayoutName) {
TEST_F(InputMethodUtilTest, TestGetLanguageCodeFromInputMethodId) {
// Make sure that the -CN is added properly.
- EXPECT_EQ("zh-CN", util_.GetLanguageCodeFromInputMethodId("pinyin"));
+ EXPECT_EQ("zh-CN", util_.GetLanguageCodeFromInputMethodId(pinyin_ime_id));
}
TEST_F(InputMethodUtilTest, TestGetInputMethodDisplayNameFromId) {
- EXPECT_EQ("Pinyin input method",
- util_.GetInputMethodDisplayNameFromId("pinyin"));
EXPECT_EQ("US keyboard",
util_.GetInputMethodDisplayNameFromId("xkb:us::eng"));
EXPECT_EQ("", util_.GetInputMethodDisplayNameFromId("nonexistent"));
@@ -325,9 +338,9 @@ TEST_F(InputMethodUtilTest, TestGetInputMethodDescriptorFromId) {
EXPECT_EQ(NULL, util_.GetInputMethodDescriptorFromId("non_existent"));
const InputMethodDescriptor* descriptor =
- util_.GetInputMethodDescriptorFromId("pinyin");
+ util_.GetInputMethodDescriptorFromId(pinyin_ime_id);
ASSERT_TRUE(NULL != descriptor); // ASSERT_NE doesn't compile.
- EXPECT_EQ("pinyin", descriptor->id());
+ EXPECT_EQ(pinyin_ime_id, descriptor->id());
EXPECT_EQ("us", descriptor->GetPreferredKeyboardLayout());
// This used to be "zh" but now we have "zh-CN" in input_methods.h,
// hence this should be zh-CN now.
@@ -337,8 +350,8 @@ TEST_F(InputMethodUtilTest, TestGetInputMethodDescriptorFromId) {
TEST_F(InputMethodUtilTest, TestGetInputMethodIdsForLanguageCode) {
std::multimap<std::string, std::string> language_code_to_ids_map;
- language_code_to_ids_map.insert(std::make_pair("ja", "pinyin"));
- language_code_to_ids_map.insert(std::make_pair("ja", "pinyin"));
+ language_code_to_ids_map.insert(std::make_pair("ja", pinyin_ime_id));
+ language_code_to_ids_map.insert(std::make_pair("ja", pinyin_ime_id));
language_code_to_ids_map.insert(std::make_pair("ja", "xkb:jp:jpn"));
language_code_to_ids_map.insert(std::make_pair("fr", "xkb:fr:fra"));
@@ -386,7 +399,7 @@ TEST_F(InputMethodUtilTest, TestGetFirstLoginInputMethodIds_Us_And_Zh) {
util_.GetFirstLoginInputMethodIds("zh-CN", *descriptor, &input_method_ids);
ASSERT_EQ(2U, input_method_ids.size());
EXPECT_EQ("xkb:us::eng", input_method_ids[0]);
- EXPECT_EQ("pinyin", input_method_ids[1]); // Pinyin for US keybaord.
+ EXPECT_EQ(pinyin_ime_id, input_method_ids[1]); // Pinyin for US keybaord.
}
// Korean keyboard + Korean UI = Korean keyboard + mozc-hangul.
@@ -423,7 +436,7 @@ TEST_F(InputMethodUtilTest, TestGetFirstLoginInputMethodIds_Us_And_ZhTw) {
util_.GetFirstLoginInputMethodIds("zh-TW", *descriptor, &input_method_ids);
ASSERT_EQ(2U, input_method_ids.size());
EXPECT_EQ("xkb:us::eng", input_method_ids[0]);
- EXPECT_EQ("mozc-chewing", input_method_ids[1]); // Chewing.
+ EXPECT_EQ(zhuyin_ime_id, input_method_ids[1]); // Chewing.
}
// US keyboard + Thai = US keyboard + kesmanee.
@@ -454,7 +467,7 @@ TEST_F(InputMethodUtilTest, TestGetLanguageCodesFromInputMethodIds) {
std::vector<std::string> input_method_ids;
input_method_ids.push_back("xkb:us::eng"); // English US.
input_method_ids.push_back("xkb:us:dvorak:eng"); // English US Dvorak.
- input_method_ids.push_back("pinyin"); // Pinyin
+ input_method_ids.push_back(pinyin_ime_id); // Pinyin
input_method_ids.push_back("xkb:fr::fra"); // French France.
std::vector<std::string> language_codes;
util_.GetLanguageCodesFromInputMethodIds(input_method_ids, &language_codes);
« no previous file with comments | « chrome/browser/chromeos/input_method/input_method_util.cc ('k') | chromeos/ime/input_method_whitelist_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698