Index: chrome/browser/ui/webui/options/chromeos/cros_language_options_handler_unittest.cc |
diff --git a/chrome/browser/ui/webui/options/chromeos/cros_language_options_handler_unittest.cc b/chrome/browser/ui/webui/options/chromeos/cros_language_options_handler_unittest.cc |
index a5b7e188a380c4122831290c4ddc1accc1cb5c20..a4b6e4cf5496a6b9e54b38ed94b9e9e997a885d1 100644 |
--- a/chrome/browser/ui/webui/options/chromeos/cros_language_options_handler_unittest.cc |
+++ b/chrome/browser/ui/webui/options/chromeos/cros_language_options_handler_unittest.cc |
@@ -152,7 +152,8 @@ TEST_F(CrosLanguageOptionsHandlerTest, GetUILanguageList) { |
InputMethodDescriptors descriptors = CreateInputMethodDescriptors1(); |
scoped_ptr<base::ListValue> list( |
chromeos::options::CrosLanguageOptionsHandler::GetUILanguageList( |
- descriptors)); |
+ descriptors, |
+ NULL)); |
for (size_t i = 0; i < list->GetSize(); ++i) { |
base::DictionaryValue* dict; |
@@ -195,7 +196,8 @@ TEST_F(CrosLanguageOptionsHandlerTest, GetUILanguageListMulti) { |
InputMethodDescriptors descriptors = CreateInputMethodDescriptors2(); |
scoped_ptr<base::ListValue> list( |
chromeos::options::CrosLanguageOptionsHandler::GetUILanguageList( |
- descriptors)); |
+ descriptors, |
+ NULL)); |
base::DictionaryValue* dict; |
std::string code; |
@@ -215,6 +217,38 @@ TEST_F(CrosLanguageOptionsHandlerTest, GetUILanguageListMulti) { |
EXPECT_LANGUAGE_CODE_AT(1, "en-US") |
EXPECT_LANGUAGE_CODE_AT(2, "de") |
EXPECT_LANGUAGE_CODE_AT(3, "it") |
- EXPECT_LANGUAGE_CODE_AT(4, |
- chromeos::options::kVendorOtherLanguagesListDivider); |
+ EXPECT_LANGUAGE_CODE_AT(4, chromeos::options::kMostRelevantLanguagesDivider); |
+} |
+ |
+TEST_F(CrosLanguageOptionsHandlerTest, GetUILanguageListWithMostRelevant) { |
+ std::vector<std::string> most_relevant_language_codes; |
+ most_relevant_language_codes.push_back("it"); |
+ most_relevant_language_codes.push_back("de"); |
+ most_relevant_language_codes.push_back("nonexistent"); |
+ |
+ // This requires initialized StatisticsProvider. |
+ // (see CrosLanguageOptionsHandlerTest() ) |
+ InputMethodDescriptors descriptors = CreateInputMethodDescriptors2(); |
+ scoped_ptr<base::ListValue> list( |
+ chromeos::options::CrosLanguageOptionsHandler::GetUILanguageList( |
+ descriptors, |
+ &most_relevant_language_codes)); |
+ |
+ base::DictionaryValue* dict; |
+ std::string code; |
+ |
+ for (size_t i = 0; i < list->GetSize(); ++i) { |
+ ASSERT_TRUE(list->GetDictionary(i, &dict)); |
+ ASSERT_TRUE(dict->GetString("code", &code)); |
+ EXPECT_NE("is", code) |
+ << "Icelandic is an example language which has input method " |
+ << "but can't use it as UI language."; |
+ } |
+ |
+ EXPECT_GT(list->GetSize(), 3u); |
+ |
+ EXPECT_LANGUAGE_CODE_AT(0, "it") |
+ EXPECT_LANGUAGE_CODE_AT(1, "de") |
+ EXPECT_LANGUAGE_CODE_AT(2, chromeos::options::kMostRelevantLanguagesDivider); |
} |
+ |