| Index: chrome/browser/chromeos/status/language_menu_button_unittest.cc
|
| diff --git a/chrome/browser/chromeos/status/language_menu_button_unittest.cc b/chrome/browser/chromeos/status/language_menu_button_unittest.cc
|
| index 87cdc36492fe345dc516195194bdd2e10dd4b025..4657218623906b8333f153a43e7396b5f190dd88 100644
|
| --- a/chrome/browser/chromeos/status/language_menu_button_unittest.cc
|
| +++ b/chrome/browser/chromeos/status/language_menu_button_unittest.cc
|
| @@ -65,63 +65,97 @@ TEST(LanguageMenuButtonTest, GetTextForIndicatorTest) {
|
| }
|
| }
|
|
|
| -TEST(LanguageMenuButtonTest, GetTextForTooltipTest) {
|
| - const bool kAddMethodName = true;
|
| +
|
| +// Test whether the function returns language name for non-ambiguous languages.
|
| +TEST(LanguageMenuButtonTest, GetTextForMenuTest) {
|
| + // For most languages input method or keyboard layout name is returned.
|
| + // See below for exceptions.
|
| {
|
| InputMethodDescriptor desc("m17n:fa:isiri", "isiri (m17n)", "us", "fa");
|
| - EXPECT_EQ(L"Persian - Persian input method (ISIRI 2901 layout)",
|
| - LanguageMenuButton::GetTextForMenu(desc, kAddMethodName));
|
| + EXPECT_EQ(L"Persian input method (ISIRI 2901 layout)",
|
| + LanguageMenuButton::GetTextForMenu(desc));
|
| }
|
| {
|
| InputMethodDescriptor desc("hangul", "Korean", "us", "ko");
|
| - EXPECT_EQ(L"Korean - Korean input method",
|
| - LanguageMenuButton::GetTextForMenu(desc, kAddMethodName));
|
| + EXPECT_EQ(L"Korean input method",
|
| + LanguageMenuButton::GetTextForMenu(desc));
|
| + }
|
| + {
|
| + InputMethodDescriptor desc("m17n:vi:tcvn", "tcvn (m17n)", "us", "vi");
|
| + EXPECT_EQ(L"Vietnamese input method (TCVN6064)",
|
| + LanguageMenuButton::GetTextForMenu(desc));
|
| + }
|
| + {
|
| + InputMethodDescriptor desc("mozc", "Mozc (US keyboard layout)", "us", "ja");
|
| + EXPECT_EQ(L"Japanese input method (for US keyboard)",
|
| + LanguageMenuButton::GetTextForMenu(desc));
|
| + }
|
| + {
|
| + InputMethodDescriptor desc("xkb:jp::jpn", "Japan", "jp", "jpn");
|
| + EXPECT_EQ(L"Japanese keyboard layout",
|
| + LanguageMenuButton::GetTextForMenu(desc));
|
| + }
|
| + {
|
| + InputMethodDescriptor desc("xkb:us:dvorak:eng", "USA - Dvorak",
|
| + "us(dvorak)", "eng");
|
| + EXPECT_EQ(L"English (Dvorak)",
|
| + LanguageMenuButton::GetTextForMenu(desc));
|
| + }
|
| +
|
| + // For Arabic, Dutch, French, German, Hebrew and Hindi,
|
| + // "language - keyboard layout" pair is returned.
|
| + {
|
| + InputMethodDescriptor desc("m17n:ar:kbd", "kbd (m17n)", "us", "ar");
|
| + EXPECT_EQ(L"Arabic - Standard input method",
|
| + LanguageMenuButton::GetTextForMenu(desc));
|
| + }
|
| + {
|
| + InputMethodDescriptor desc("xkb:nl::nld", "Netherlands", "nl", "nld");
|
| + EXPECT_EQ(L"Dutch - Dutch keyboard layout",
|
| + LanguageMenuButton::GetTextForMenu(desc));
|
| + }
|
| + {
|
| + InputMethodDescriptor desc("xkb:be::nld", "Belgium", "be", "nld");
|
| + EXPECT_EQ(L"Dutch - Belgian keyboard layout",
|
| + LanguageMenuButton::GetTextForMenu(desc));
|
| }
|
| {
|
| + InputMethodDescriptor desc("xkb:fr::fra", "France", "fr", "fra");
|
| + EXPECT_EQ(L"French - French keyboard layout",
|
| + LanguageMenuButton::GetTextForMenu(desc));
|
| + }
|
| + {
|
| + InputMethodDescriptor desc("xkb:be::fra", "Belgium", "be", "fra");
|
| + EXPECT_EQ(L"French - Belgian keyboard layout",
|
| + LanguageMenuButton::GetTextForMenu(desc));
|
| + }
|
| + {
|
| + InputMethodDescriptor desc("xkb:de::ger", "Germany", "de", "ger");
|
| + EXPECT_EQ(L"German - German keyboard layout",
|
| + LanguageMenuButton::GetTextForMenu(desc));
|
| + }
|
| + {
|
| + InputMethodDescriptor desc("xkb:be::ger", "Belgium", "be", "ger");
|
| + EXPECT_EQ(L"German - Belgian keyboard layout",
|
| + LanguageMenuButton::GetTextForMenu(desc));
|
| + }
|
| + {
|
| + InputMethodDescriptor desc("m17n:he:kbd", "kbd (m17n)", "us", "he");
|
| + EXPECT_EQ(L"Hebrew - Standard input method",
|
| + LanguageMenuButton::GetTextForMenu(desc));
|
| + }
|
| + {
|
| + InputMethodDescriptor desc("m17n:hi:itrans", "itrans (m17n)", "us", "hi");
|
| + EXPECT_EQ(L"Hindi - Standard input method",
|
| + LanguageMenuButton::GetTextForMenu(desc));
|
| + }
|
| +
|
| + {
|
| InputMethodDescriptor desc("invalid-id", "unregistered string", "us", "xx");
|
| // You can safely ignore the "Resouce ID is not found for: unregistered
|
| // string" error.
|
| - EXPECT_EQ(L"xx - unregistered string",
|
| - LanguageMenuButton::GetTextForMenu(desc, kAddMethodName));
|
| - }
|
| -}
|
| -
|
| -TEST(LanguageMenuButtonTest, GetAmbiguousLanguageCodeSet) {
|
| - {
|
| - std::set<std::string> ambiguous_language_code_set;
|
| - InputMethodDescriptors descriptors;
|
| - descriptors.push_back(InputMethodDescriptor(
|
| - "xkb:us::eng", "USA", "us", "eng"));
|
| - LanguageMenuButton::GetAmbiguousLanguageCodeSet(
|
| - descriptors, &ambiguous_language_code_set);
|
| - // There is no ambituity.
|
| - EXPECT_TRUE(ambiguous_language_code_set.empty());
|
| - }
|
| - {
|
| - std::set<std::string> ambiguous_language_code_set;
|
| - InputMethodDescriptors descriptors;
|
| - descriptors.push_back(InputMethodDescriptor(
|
| - "xkb:us::eng", "USA", "us", "eng"));
|
| - descriptors.push_back(InputMethodDescriptor(
|
| - "xkb:us:dvorak:eng", "Dvorak", "us", "eng"));
|
| - LanguageMenuButton::GetAmbiguousLanguageCodeSet(
|
| - descriptors, &ambiguous_language_code_set);
|
| - // This is ambiguous, as two input methods are present for "en-US".
|
| - EXPECT_EQ(1U, ambiguous_language_code_set.size());
|
| - EXPECT_EQ(1U, ambiguous_language_code_set.count("en-US"));
|
| - }
|
| - {
|
| - std::set<std::string> ambiguous_language_code_set;
|
| - InputMethodDescriptors descriptors;
|
| - descriptors.push_back(InputMethodDescriptor(
|
| - "xkb:jp::jpn", "Japan", "jp", "jpn"));
|
| - LanguageMenuButton::GetAmbiguousLanguageCodeSet(
|
| - descriptors, &ambiguous_language_code_set);
|
| - // Japanese is special. Showing the language name alone for the
|
| - // Japanese keyboard layout is confusing, hence we consider it
|
| - // ambiguous.
|
| - EXPECT_EQ(1U, ambiguous_language_code_set.size());
|
| - EXPECT_EQ(1U, ambiguous_language_code_set.count("ja"));
|
| + EXPECT_EQ(L"unregistered string",
|
| + LanguageMenuButton::GetTextForMenu(desc));
|
| }
|
| }
|
|
|
|
|