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

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

Issue 14564007: Remove mozc from whitelist. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: TestUpdate Created 7 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
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_util.h" 5 #include "chrome/browser/chromeos/input_method/input_method_util.h"
6 6
7 #include <string> 7 #include <string>
8 8
9 #include "base/bind.h" 9 #include "base/bind.h"
10 #include "base/memory/scoped_ptr.h" 10 #include "base/memory/scoped_ptr.h"
(...skipping 98 matching lines...) Expand 10 before | Expand all | Expand 10 after
109 } 109 }
110 { 110 {
111 InputMethodDescriptor desc = GetDesc("xkb:de:neo:ger", "de(neo)", "de"); 111 InputMethodDescriptor desc = GetDesc("xkb:de:neo:ger", "de(neo)", "de");
112 EXPECT_EQ(ASCIIToUTF16("NEO"), util_.GetInputMethodShortName(desc)); 112 EXPECT_EQ(ASCIIToUTF16("NEO"), util_.GetInputMethodShortName(desc));
113 } 113 }
114 { 114 {
115 InputMethodDescriptor desc = GetDesc("xkb:es:cat:cat", "es(cat)", "ca"); 115 InputMethodDescriptor desc = GetDesc("xkb:es:cat:cat", "es(cat)", "ca");
116 EXPECT_EQ(ASCIIToUTF16("CAS"), util_.GetInputMethodShortName(desc)); 116 EXPECT_EQ(ASCIIToUTF16("CAS"), util_.GetInputMethodShortName(desc));
117 } 117 }
118 { 118 {
119 InputMethodDescriptor desc = GetDesc("mozc", "us", "ja");
120 EXPECT_EQ(UTF8ToUTF16("\xe3\x81\x82"),
121 util_.GetInputMethodShortName(desc));
122 }
123 {
124 InputMethodDescriptor desc = GetDesc("mozc-jp", "jp", "ja");
125 EXPECT_EQ(UTF8ToUTF16("\xe3\x81\x82"),
126 util_.GetInputMethodShortName(desc));
127 }
128 {
129 InputMethodDescriptor desc = GetDesc("pinyin", "us", "zh-CN"); 119 InputMethodDescriptor desc = GetDesc("pinyin", "us", "zh-CN");
130 EXPECT_EQ(UTF8ToUTF16("\xe6\x8b\xbc"), 120 EXPECT_EQ(UTF8ToUTF16("\xe6\x8b\xbc"),
131 util_.GetInputMethodShortName(desc)); 121 util_.GetInputMethodShortName(desc));
132 } 122 }
133 { 123 {
134 InputMethodDescriptor desc = GetDesc("pinyin-dv", "us(dvorak)", "zh-CN"); 124 InputMethodDescriptor desc = GetDesc("pinyin-dv", "us(dvorak)", "zh-CN");
135 EXPECT_EQ(UTF8ToUTF16("\xe6\x8b\xbc"), 125 EXPECT_EQ(UTF8ToUTF16("\xe6\x8b\xbc"),
136 util_.GetInputMethodShortName(desc)); 126 util_.GetInputMethodShortName(desc));
137 } 127 }
138 { 128 {
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
171 string16 medium_name = util_.GetInputMethodMediumName(desc); 161 string16 medium_name = util_.GetInputMethodMediumName(desc);
172 string16 short_name = util_.GetInputMethodShortName(desc); 162 string16 short_name = util_.GetInputMethodShortName(desc);
173 EXPECT_EQ(medium_name,short_name); 163 EXPECT_EQ(medium_name,short_name);
174 } 164 }
175 } 165 }
176 { 166 {
177 // input methods with medium name not equal to short name 167 // input methods with medium name not equal to short name
178 const char * input_method_id[] = { 168 const char * input_method_id[] = {
179 "m17n:zh:cangjie", 169 "m17n:zh:cangjie",
180 "m17n:zh:quick", 170 "m17n:zh:quick",
181 "mozc", 171 "pinyin",
182 "mozc-chewing", 172 "mozc-chewing",
183 "mozc-dv",
184 "mozc-hangul", 173 "mozc-hangul",
185 "mozc-jp", 174 "pinyin",
186 "pinyin", 175 "pinyin",
187 "pinyin-dv", 176 "pinyin-dv",
188 }; 177 };
189 const int len = ARRAYSIZE_UNSAFE(input_method_id); 178 const int len = ARRAYSIZE_UNSAFE(input_method_id);
190 for (int i=0; i<len; ++i) { 179 for (int i=0; i<len; ++i) {
191 InputMethodDescriptor desc = GetDesc(input_method_id[i], "", ""); 180 InputMethodDescriptor desc = GetDesc(input_method_id[i], "", "");
192 string16 medium_name = util_.GetInputMethodMediumName(desc); 181 string16 medium_name = util_.GetInputMethodMediumName(desc);
193 string16 short_name = util_.GetInputMethodShortName(desc); 182 string16 short_name = util_.GetInputMethodShortName(desc);
194 EXPECT_NE(medium_name,short_name); 183 EXPECT_NE(medium_name,short_name);
195 } 184 }
(...skipping 12 matching lines...) Expand all
208 InputMethodDescriptor desc = GetDesc("mozc-hangul", "us", "ko"); 197 InputMethodDescriptor desc = GetDesc("mozc-hangul", "us", "ko");
209 EXPECT_EQ(ASCIIToUTF16("Korean input method"), 198 EXPECT_EQ(ASCIIToUTF16("Korean input method"),
210 util_.GetInputMethodLongName(desc)); 199 util_.GetInputMethodLongName(desc));
211 } 200 }
212 { 201 {
213 InputMethodDescriptor desc = GetDesc("m17n:vi:tcvn", "us", "vi"); 202 InputMethodDescriptor desc = GetDesc("m17n:vi:tcvn", "us", "vi");
214 EXPECT_EQ(ASCIIToUTF16("Vietnamese input method (TCVN6064)"), 203 EXPECT_EQ(ASCIIToUTF16("Vietnamese input method (TCVN6064)"),
215 util_.GetInputMethodLongName(desc)); 204 util_.GetInputMethodLongName(desc));
216 } 205 }
217 { 206 {
218 InputMethodDescriptor desc = GetDesc("mozc", "us", "ja"); 207 InputMethodDescriptor desc = GetDesc("pinyin", "us", "ja");
219 #if !defined(GOOGLE_CHROME_BUILD) 208 EXPECT_EQ(ASCIIToUTF16("Pinyin input method"),
220 EXPECT_EQ(ASCIIToUTF16("Japanese input method (for US keyboard)"),
221 #else
222 EXPECT_EQ(ASCIIToUTF16("Google Japanese Input (for US keyboard)"),
223 #endif // defined(GOOGLE_CHROME_BUILD)
224 util_.GetInputMethodLongName(desc)); 209 util_.GetInputMethodLongName(desc));
225 } 210 }
226 { 211 {
227 InputMethodDescriptor desc = GetDesc("xkb:jp::jpn", "jp", "ja"); 212 InputMethodDescriptor desc = GetDesc("xkb:jp::jpn", "jp", "ja");
228 EXPECT_EQ(ASCIIToUTF16("Japanese keyboard"), 213 EXPECT_EQ(ASCIIToUTF16("Japanese keyboard"),
229 util_.GetInputMethodLongName(desc)); 214 util_.GetInputMethodLongName(desc));
230 } 215 }
231 { 216 {
232 InputMethodDescriptor desc = 217 InputMethodDescriptor desc =
233 GetDesc("xkb:us:dvorak:eng", "us(dvorak)", "en-US"); 218 GetDesc("xkb:us:dvorak:eng", "us(dvorak)", "en-US");
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after
284 // You can safely ignore the "Resouce ID is not found for: invalid-id" 269 // You can safely ignore the "Resouce ID is not found for: invalid-id"
285 // error. 270 // error.
286 EXPECT_EQ(ASCIIToUTF16("invalid-id"), 271 EXPECT_EQ(ASCIIToUTF16("invalid-id"),
287 util_.GetInputMethodLongName(desc)); 272 util_.GetInputMethodLongName(desc));
288 } 273 }
289 } 274 }
290 275
291 TEST_F(InputMethodUtilTest, TestGetStringUTF8) { 276 TEST_F(InputMethodUtilTest, TestGetStringUTF8) {
292 EXPECT_EQ(UTF8ToUTF16("Pinyin input method"), 277 EXPECT_EQ(UTF8ToUTF16("Pinyin input method"),
293 util_.TranslateString("pinyin")); 278 util_.TranslateString("pinyin"));
294 #if !defined(GOOGLE_CHROME_BUILD)
295 EXPECT_EQ(UTF8ToUTF16("Japanese input method (for US Dvorak keyboard)"),
296 util_.TranslateString("mozc-dv"));
297 #endif
298 } 279 }
299 280
300 TEST_F(InputMethodUtilTest, TestIsValidInputMethodId) { 281 TEST_F(InputMethodUtilTest, TestIsValidInputMethodId) {
301 EXPECT_TRUE(util_.IsValidInputMethodId("xkb:us:colemak:eng")); 282 EXPECT_TRUE(util_.IsValidInputMethodId("xkb:us:colemak:eng"));
302 EXPECT_TRUE(util_.IsValidInputMethodId("mozc")); 283 EXPECT_TRUE(util_.IsValidInputMethodId("pinyin"));
303 EXPECT_FALSE(util_.IsValidInputMethodId("unsupported-input-method")); 284 EXPECT_FALSE(util_.IsValidInputMethodId("unsupported-input-method"));
304 } 285 }
305 286
306 TEST_F(InputMethodUtilTest, TestIsKeyboardLayout) { 287 TEST_F(InputMethodUtilTest, TestIsKeyboardLayout) {
307 EXPECT_TRUE(InputMethodUtil::IsKeyboardLayout("xkb:us::eng")); 288 EXPECT_TRUE(InputMethodUtil::IsKeyboardLayout("xkb:us::eng"));
308 EXPECT_FALSE(InputMethodUtil::IsKeyboardLayout("mozc")); 289 EXPECT_FALSE(InputMethodUtil::IsKeyboardLayout("pinyin"));
309 } 290 }
310 291
311 TEST_F(InputMethodUtilTest, TestGetKeyboardLayoutName) { 292 TEST_F(InputMethodUtilTest, TestGetKeyboardLayoutName) {
312 // Unsupported case. 293 // Unsupported case.
313 EXPECT_EQ("", util_.GetKeyboardLayoutName("UNSUPPORTED_ID")); 294 EXPECT_EQ("", util_.GetKeyboardLayoutName("UNSUPPORTED_ID"));
314 295
315 // Supported cases (samples). 296 // Supported cases (samples).
316 EXPECT_EQ("jp", util_.GetKeyboardLayoutName("mozc-jp"));
317 EXPECT_EQ("us", util_.GetKeyboardLayoutName("pinyin")); 297 EXPECT_EQ("us", util_.GetKeyboardLayoutName("pinyin"));
318 EXPECT_EQ("us(dvorak)", util_.GetKeyboardLayoutName("pinyin-dv")); 298 EXPECT_EQ("us(dvorak)", util_.GetKeyboardLayoutName("pinyin-dv"));
319 EXPECT_EQ("us", util_.GetKeyboardLayoutName("m17n:ar:kbd")); 299 EXPECT_EQ("us", util_.GetKeyboardLayoutName("m17n:ar:kbd"));
320 EXPECT_EQ("es", util_.GetKeyboardLayoutName("xkb:es::spa")); 300 EXPECT_EQ("es", util_.GetKeyboardLayoutName("xkb:es::spa"));
321 EXPECT_EQ("es(cat)", util_.GetKeyboardLayoutName("xkb:es:cat:cat")); 301 EXPECT_EQ("es(cat)", util_.GetKeyboardLayoutName("xkb:es:cat:cat"));
322 EXPECT_EQ("gb(extd)", util_.GetKeyboardLayoutName("xkb:gb:extd:eng")); 302 EXPECT_EQ("gb(extd)", util_.GetKeyboardLayoutName("xkb:gb:extd:eng"));
323 EXPECT_EQ("us", util_.GetKeyboardLayoutName("xkb:us::eng")); 303 EXPECT_EQ("us", util_.GetKeyboardLayoutName("xkb:us::eng"));
324 EXPECT_EQ("us(dvorak)", util_.GetKeyboardLayoutName("xkb:us:dvorak:eng")); 304 EXPECT_EQ("us(dvorak)", util_.GetKeyboardLayoutName("xkb:us:dvorak:eng"));
325 EXPECT_EQ("us(colemak)", util_.GetKeyboardLayoutName("xkb:us:colemak:eng")); 305 EXPECT_EQ("us(colemak)", util_.GetKeyboardLayoutName("xkb:us:colemak:eng"));
326 EXPECT_EQ("de(neo)", util_.GetKeyboardLayoutName("xkb:de:neo:ger")); 306 EXPECT_EQ("de(neo)", util_.GetKeyboardLayoutName("xkb:de:neo:ger"));
(...skipping 20 matching lines...) Expand all
347 ASSERT_TRUE(NULL != descriptor); // ASSERT_NE doesn't compile. 327 ASSERT_TRUE(NULL != descriptor); // ASSERT_NE doesn't compile.
348 EXPECT_EQ("pinyin", descriptor->id()); 328 EXPECT_EQ("pinyin", descriptor->id());
349 EXPECT_EQ("us", descriptor->GetPreferredKeyboardLayout()); 329 EXPECT_EQ("us", descriptor->GetPreferredKeyboardLayout());
350 // This used to be "zh" but now we have "zh-CN" in input_methods.h, 330 // This used to be "zh" but now we have "zh-CN" in input_methods.h,
351 // hence this should be zh-CN now. 331 // hence this should be zh-CN now.
352 EXPECT_EQ("zh-CN", descriptor->language_code()); 332 EXPECT_EQ("zh-CN", descriptor->language_code());
353 } 333 }
354 334
355 TEST_F(InputMethodUtilTest, TestGetInputMethodIdsForLanguageCode) { 335 TEST_F(InputMethodUtilTest, TestGetInputMethodIdsForLanguageCode) {
356 std::multimap<std::string, std::string> language_code_to_ids_map; 336 std::multimap<std::string, std::string> language_code_to_ids_map;
357 language_code_to_ids_map.insert(std::make_pair("ja", "mozc")); 337 language_code_to_ids_map.insert(std::make_pair("ja", "pinyin"));
358 language_code_to_ids_map.insert(std::make_pair("ja", "mozc-jp")); 338 language_code_to_ids_map.insert(std::make_pair("ja", "pinyin"));
359 language_code_to_ids_map.insert(std::make_pair("ja", "xkb:jp:jpn")); 339 language_code_to_ids_map.insert(std::make_pair("ja", "xkb:jp:jpn"));
360 language_code_to_ids_map.insert(std::make_pair("fr", "xkb:fr:fra")); 340 language_code_to_ids_map.insert(std::make_pair("fr", "xkb:fr:fra"));
361 341
362 std::vector<std::string> result; 342 std::vector<std::string> result;
363 EXPECT_TRUE(util_.GetInputMethodIdsFromLanguageCodeInternal( 343 EXPECT_TRUE(util_.GetInputMethodIdsFromLanguageCodeInternal(
364 language_code_to_ids_map, "ja", kAllInputMethods, &result)); 344 language_code_to_ids_map, "ja", kAllInputMethods, &result));
365 EXPECT_EQ(3U, result.size()); 345 EXPECT_EQ(3U, result.size());
366 EXPECT_TRUE(util_.GetInputMethodIdsFromLanguageCodeInternal( 346 EXPECT_TRUE(util_.GetInputMethodIdsFromLanguageCodeInternal(
367 language_code_to_ids_map, "ja", kKeyboardLayoutsOnly, &result)); 347 language_code_to_ids_map, "ja", kKeyboardLayoutsOnly, &result));
368 ASSERT_EQ(1U, result.size()); 348 ASSERT_EQ(1U, result.size());
(...skipping 18 matching lines...) Expand all
387 TEST_F(InputMethodUtilTest, TestGetFirstLoginInputMethodIds_Us_And_EnUs) { 367 TEST_F(InputMethodUtilTest, TestGetFirstLoginInputMethodIds_Us_And_EnUs) {
388 const InputMethodDescriptor* descriptor = 368 const InputMethodDescriptor* descriptor =
389 util_.GetInputMethodDescriptorFromId("xkb:us::eng"); // US keyboard. 369 util_.GetInputMethodDescriptorFromId("xkb:us::eng"); // US keyboard.
390 ASSERT_TRUE(NULL != descriptor); // ASSERT_NE doesn't compile. 370 ASSERT_TRUE(NULL != descriptor); // ASSERT_NE doesn't compile.
391 std::vector<std::string> input_method_ids; 371 std::vector<std::string> input_method_ids;
392 util_.GetFirstLoginInputMethodIds("en-US", *descriptor, &input_method_ids); 372 util_.GetFirstLoginInputMethodIds("en-US", *descriptor, &input_method_ids);
393 ASSERT_EQ(1U, input_method_ids.size()); 373 ASSERT_EQ(1U, input_method_ids.size());
394 EXPECT_EQ("xkb:us::eng", input_method_ids[0]); 374 EXPECT_EQ("xkb:us::eng", input_method_ids[0]);
395 } 375 }
396 376
397 // US keyboard + Japanese UI = US keyboard + mozc. 377 // US keyboard + Chinese UI = US keyboard + Pinyin IME.
398 TEST_F(InputMethodUtilTest, TestGetFirstLoginInputMethodIds_Us_And_Ja) { 378 TEST_F(InputMethodUtilTest, TestGetFirstLoginInputMethodIds_Us_And_Zh) {
399 const InputMethodDescriptor* descriptor = 379 const InputMethodDescriptor* descriptor =
400 util_.GetInputMethodDescriptorFromId("xkb:us::eng"); // US keyboard. 380 util_.GetInputMethodDescriptorFromId("xkb:us::eng"); // US keyboard.
401 ASSERT_TRUE(NULL != descriptor); // ASSERT_NE doesn't compile. 381 ASSERT_TRUE(NULL != descriptor); // ASSERT_NE doesn't compile.
402 std::vector<std::string> input_method_ids; 382 std::vector<std::string> input_method_ids;
403 util_.GetFirstLoginInputMethodIds("ja", *descriptor, &input_method_ids); 383 util_.GetFirstLoginInputMethodIds("zh-CN", *descriptor, &input_method_ids);
404 ASSERT_EQ(2U, input_method_ids.size()); 384 ASSERT_EQ(2U, input_method_ids.size());
405 EXPECT_EQ("xkb:us::eng", input_method_ids[0]); 385 EXPECT_EQ("xkb:us::eng", input_method_ids[0]);
406 EXPECT_EQ("mozc", input_method_ids[1]); // Mozc for US keybaord. 386 EXPECT_EQ("pinyin", input_method_ids[1]); // Pinyin for US keybaord.
407 } 387 }
408 388
409 // JP keyboard + Japanese UI = JP keyboard + mozc-jp. 389 // Korean keyboard + Korean UI = Korean keyboard + mozc-hangul.
410 TEST_F(InputMethodUtilTest, TestGetFirstLoginInputMethodIds_JP_And_Ja) { 390 TEST_F(InputMethodUtilTest, TestGetFirstLoginInputMethodIds_KR_And_Ko) {
391 // Korean keyboard
411 const InputMethodDescriptor* descriptor = 392 const InputMethodDescriptor* descriptor =
412 util_.GetInputMethodDescriptorFromId("xkb:jp::jpn"); // Japanese keyboard 393 util_.GetInputMethodDescriptorFromId("xkb:kr:kr104:kor");
413 ASSERT_TRUE(NULL != descriptor); // ASSERT_NE doesn't compile. 394 ASSERT_TRUE(NULL != descriptor); // ASSERT_NE doesn't compile.
414 std::vector<std::string> input_method_ids; 395 std::vector<std::string> input_method_ids;
415 util_.GetFirstLoginInputMethodIds("ja", *descriptor, &input_method_ids); 396 util_.GetFirstLoginInputMethodIds("ko", *descriptor, &input_method_ids);
416 ASSERT_EQ(2U, input_method_ids.size()); 397 ASSERT_EQ(2U, input_method_ids.size());
417 EXPECT_EQ("xkb:jp::jpn", input_method_ids[0]); 398 EXPECT_EQ("xkb:kr:kr104:kor", input_method_ids[0]);
418 EXPECT_EQ("mozc-jp", input_method_ids[1]); // Mozc for JP keybaord. 399 EXPECT_EQ("mozc-hangul", input_method_ids[1]); // Mozc for JP keybaord.
419 }
420
421 // US dvorak keyboard + Japanese UI = US dvorak keyboard + mozc-dv.
422 TEST_F(InputMethodUtilTest, TestGetFirstLoginInputMethodIds_Dvorak_And_Ja) {
423 const InputMethodDescriptor* descriptor =
424 // US Drovak keyboard.
425 util_.GetInputMethodDescriptorFromId("xkb:us:dvorak:eng");
426 ASSERT_TRUE(NULL != descriptor); // ASSERT_NE doesn't compile.
427 std::vector<std::string> input_method_ids;
428 util_.GetFirstLoginInputMethodIds("ja", *descriptor, &input_method_ids);
429 ASSERT_EQ(2U, input_method_ids.size());
430 EXPECT_EQ("xkb:us:dvorak:eng", input_method_ids[0]);
431 EXPECT_EQ("mozc-dv", input_method_ids[1]); // Mozc for US Dvorak keybaord.
432 } 400 }
433 401
434 // US keyboard + Russian UI = US keyboard + Russsian keyboard 402 // US keyboard + Russian UI = US keyboard + Russsian keyboard
435 TEST_F(InputMethodUtilTest, TestGetFirstLoginInputMethodIds_Us_And_Ru) { 403 TEST_F(InputMethodUtilTest, TestGetFirstLoginInputMethodIds_Us_And_Ru) {
436 const InputMethodDescriptor* descriptor = 404 const InputMethodDescriptor* descriptor =
437 util_.GetInputMethodDescriptorFromId("xkb:us::eng"); // US keyboard. 405 util_.GetInputMethodDescriptorFromId("xkb:us::eng"); // US keyboard.
438 ASSERT_TRUE(NULL != descriptor); // ASSERT_NE doesn't compile. 406 ASSERT_TRUE(NULL != descriptor); // ASSERT_NE doesn't compile.
439 std::vector<std::string> input_method_ids; 407 std::vector<std::string> input_method_ids;
440 util_.GetFirstLoginInputMethodIds("ru", *descriptor, &input_method_ids); 408 util_.GetFirstLoginInputMethodIds("ru", *descriptor, &input_method_ids);
441 ASSERT_EQ(2U, input_method_ids.size()); 409 ASSERT_EQ(2U, input_method_ids.size());
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after
476 util_.GetFirstLoginInputMethodIds("vi", *descriptor, &input_method_ids); 444 util_.GetFirstLoginInputMethodIds("vi", *descriptor, &input_method_ids);
477 ASSERT_EQ(2U, input_method_ids.size()); 445 ASSERT_EQ(2U, input_method_ids.size());
478 EXPECT_EQ("xkb:us::eng", input_method_ids[0]); 446 EXPECT_EQ("xkb:us::eng", input_method_ids[0]);
479 EXPECT_EQ("m17n:vi:tcvn", input_method_ids[1]); // TCVN6064. 447 EXPECT_EQ("m17n:vi:tcvn", input_method_ids[1]); // TCVN6064.
480 } 448 }
481 449
482 TEST_F(InputMethodUtilTest, TestGetLanguageCodesFromInputMethodIds) { 450 TEST_F(InputMethodUtilTest, TestGetLanguageCodesFromInputMethodIds) {
483 std::vector<std::string> input_method_ids; 451 std::vector<std::string> input_method_ids;
484 input_method_ids.push_back("xkb:us::eng"); // English US. 452 input_method_ids.push_back("xkb:us::eng"); // English US.
485 input_method_ids.push_back("xkb:us:dvorak:eng"); // English US Dvorak. 453 input_method_ids.push_back("xkb:us:dvorak:eng"); // English US Dvorak.
486 input_method_ids.push_back("mozc-jp"); // Japanese. 454 input_method_ids.push_back("pinyin"); // Pinyin
487 input_method_ids.push_back("xkb:fr::fra"); // French France. 455 input_method_ids.push_back("xkb:fr::fra"); // French France.
488 std::vector<std::string> language_codes; 456 std::vector<std::string> language_codes;
489 util_.GetLanguageCodesFromInputMethodIds(input_method_ids, &language_codes); 457 util_.GetLanguageCodesFromInputMethodIds(input_method_ids, &language_codes);
490 ASSERT_EQ(3U, language_codes.size()); 458 ASSERT_EQ(3U, language_codes.size());
491 EXPECT_EQ("en-US", language_codes[0]); 459 EXPECT_EQ("en-US", language_codes[0]);
492 EXPECT_EQ("ja", language_codes[1]); 460 EXPECT_EQ("zh-CN", language_codes[1]);
493 EXPECT_EQ("fr", language_codes[2]); 461 EXPECT_EQ("fr", language_codes[2]);
494 } 462 }
495 463
496 // Test all supported descriptors to detect a typo in ibus_input_methods.txt. 464 // Test all supported descriptors to detect a typo in ibus_input_methods.txt.
497 TEST_F(InputMethodUtilTest, TestIBusInputMethodText) { 465 TEST_F(InputMethodUtilTest, TestIBusInputMethodText) {
498 for (size_t i = 0; i < util_.supported_input_methods_->size(); ++i) { 466 for (size_t i = 0; i < util_.supported_input_methods_->size(); ++i) {
499 const std::string language_code = 467 const std::string language_code =
500 util_.supported_input_methods_->at(i).language_code(); 468 util_.supported_input_methods_->at(i).language_code();
501 const string16 display_name = 469 const string16 display_name =
502 l10n_util::GetDisplayNameForLocale(language_code, "en", false); 470 l10n_util::GetDisplayNameForLocale(language_code, "en", false);
503 // Only two formats, like "fr" (lower case) and "en-US" (lower-upper), are 471 // Only two formats, like "fr" (lower case) and "en-US" (lower-upper), are
504 // allowed. See the text file for details. 472 // allowed. See the text file for details.
505 EXPECT_TRUE(language_code.length() == 2 || 473 EXPECT_TRUE(language_code.length() == 2 ||
506 (language_code.length() == 5 && language_code[2] == '-')) 474 (language_code.length() == 5 && language_code[2] == '-'))
507 << "Invalid language code " << language_code; 475 << "Invalid language code " << language_code;
508 EXPECT_TRUE(l10n_util::IsValidLocaleSyntax(language_code)) 476 EXPECT_TRUE(l10n_util::IsValidLocaleSyntax(language_code))
509 << "Invalid language code " << language_code; 477 << "Invalid language code " << language_code;
510 EXPECT_FALSE(display_name.empty()) 478 EXPECT_FALSE(display_name.empty())
511 << "Invalid language code " << language_code; 479 << "Invalid language code " << language_code;
512 // On error, GetDisplayNameForLocale() returns the |language_code| as-is. 480 // On error, GetDisplayNameForLocale() returns the |language_code| as-is.
513 EXPECT_NE(language_code, UTF16ToUTF8(display_name)) 481 EXPECT_NE(language_code, UTF16ToUTF8(display_name))
514 << "Invalid language code " << language_code; 482 << "Invalid language code " << language_code;
515 } 483 }
516 } 484 }
517 485
518 } // namespace input_method 486 } // namespace input_method
519 } // namespace chromeos 487 } // namespace chromeos
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698