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

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

Issue 312443002: Updates the whitelisted XKB input method IDs to sync up with the component XKB extension. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 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 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_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 75 matching lines...) Expand 10 before | Expand all | Expand 10 after
86 InputMethodDescriptor zhuyin_ime(zhuyin_ime_id, 86 InputMethodDescriptor zhuyin_ime(zhuyin_ime_id,
87 "Zhuyin input for testing", 87 "Zhuyin input for testing",
88 "TW", 88 "TW",
89 layouts, 89 layouts,
90 languages, 90 languages,
91 false, 91 false,
92 GURL(""), 92 GURL(""),
93 GURL("")); 93 GURL(""));
94 input_methods.push_back(zhuyin_ime); 94 input_methods.push_back(zhuyin_ime);
95 95
96 util_.SetComponentExtensions(input_methods); 96 util_.InitXkbInputMethodsForTesting();
97 util_.AppendInputMethods(input_methods);
97 } 98 }
98 99
99 std::string Id(const std::string& id) { 100 std::string Id(const std::string& id) {
100 return extension_ime_util::GetInputMethodIDByKeyboardLayout(id); 101 return extension_ime_util::GetInputMethodIDByKeyboardLayout(id);
101 } 102 }
102 103
103 InputMethodDescriptor GetDesc(const std::string& id, 104 InputMethodDescriptor GetDesc(const std::string& id,
104 const std::string& raw_layout, 105 const std::string& raw_layout,
105 const std::string& language_code, 106 const std::string& language_code,
106 const std::string& indicator) { 107 const std::string& indicator) {
(...skipping 367 matching lines...) Expand 10 before | Expand all | Expand 10 after
474 475
475 TEST_F(InputMethodUtilTest, TestGetLanguageCodesFromInputMethodIds) { 476 TEST_F(InputMethodUtilTest, TestGetLanguageCodesFromInputMethodIds) {
476 std::vector<std::string> input_method_ids; 477 std::vector<std::string> input_method_ids;
477 input_method_ids.push_back(Id("xkb:us::eng")); // English US. 478 input_method_ids.push_back(Id("xkb:us::eng")); // English US.
478 input_method_ids.push_back(Id("xkb:us:dvorak:eng")); // English US Dvorak. 479 input_method_ids.push_back(Id("xkb:us:dvorak:eng")); // English US Dvorak.
479 input_method_ids.push_back(pinyin_ime_id); // Pinyin 480 input_method_ids.push_back(pinyin_ime_id); // Pinyin
480 input_method_ids.push_back(Id("xkb:fr::fra")); // French France. 481 input_method_ids.push_back(Id("xkb:fr::fra")); // French France.
481 std::vector<std::string> language_codes; 482 std::vector<std::string> language_codes;
482 util_.GetLanguageCodesFromInputMethodIds(input_method_ids, &language_codes); 483 util_.GetLanguageCodesFromInputMethodIds(input_method_ids, &language_codes);
483 ASSERT_EQ(3U, language_codes.size()); 484 ASSERT_EQ(3U, language_codes.size());
484 EXPECT_EQ("en-US", language_codes[0]); 485 EXPECT_EQ("en", language_codes[0]);
485 EXPECT_EQ("zh-CN", language_codes[1]); 486 EXPECT_EQ("zh-CN", language_codes[1]);
486 EXPECT_EQ("fr", language_codes[2]); 487 EXPECT_EQ("fr", language_codes[2]);
487 } 488 }
488 489
489 // Test all supported descriptors to detect a typo in input_methods.txt. 490 // Test all supported descriptors to detect a typo in input_methods.txt.
490 TEST_F(InputMethodUtilTest, TestIBusInputMethodText) { 491 TEST_F(InputMethodUtilTest, TestIBusInputMethodText) {
491 for (size_t i = 0; i < util_.supported_input_methods_->size(); ++i) { 492 for (size_t i = 0; i < util_.supported_input_methods_->size(); ++i) {
492 const std::string language_code = 493 const std::string language_code =
493 util_.supported_input_methods_->at(i).language_codes().at(0); 494 util_.supported_input_methods_->at(i).language_codes().at(0);
494 const base::string16 display_name = 495 const base::string16 display_name =
495 l10n_util::GetDisplayNameForLocale(language_code, "en", false); 496 l10n_util::GetDisplayNameForLocale(language_code, "en", false);
496 // Only two formats, like "fr" (lower case) and "en-US" (lower-upper), are 497 // Only two formats, like "fr" (lower case) and "en-US" (lower-upper), are
497 // allowed. See the text file for details. 498 // allowed. See the text file for details.
498 EXPECT_TRUE(language_code.length() == 2 || 499 EXPECT_TRUE(language_code == "fil" || language_code.length() == 2 ||
499 (language_code.length() == 5 && language_code[2] == '-')) 500 (language_code.length() == 5 && language_code[2] == '-'))
500 << "Invalid language code " << language_code; 501 << "Invalid language code " << language_code;
501 EXPECT_TRUE(l10n_util::IsValidLocaleSyntax(language_code)) 502 EXPECT_TRUE(l10n_util::IsValidLocaleSyntax(language_code))
502 << "Invalid language code " << language_code; 503 << "Invalid language code " << language_code;
503 EXPECT_FALSE(display_name.empty()) 504 EXPECT_FALSE(display_name.empty())
504 << "Invalid language code " << language_code; 505 << "Invalid language code " << language_code;
505 // On error, GetDisplayNameForLocale() returns the |language_code| as-is. 506 // On error, GetDisplayNameForLocale() returns the |language_code| as-is.
506 EXPECT_NE(language_code, base::UTF16ToUTF8(display_name)) 507 EXPECT_NE(language_code, base::UTF16ToUTF8(display_name))
507 << "Invalid language code " << language_code; 508 << "Invalid language code " << language_code;
508 } 509 }
509 } 510 }
510 511
511 } // namespace input_method 512 } // namespace input_method
512 } // namespace chromeos 513 } // namespace chromeos
OLDNEW
« no previous file with comments | « chrome/browser/chromeos/input_method/input_method_util.cc ('k') | chrome/browser/resources/chromeos/keyboard_overlay_data.js » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698