Index: chrome/renderer/translate_helper_browsertest.cc |
diff --git a/chrome/renderer/translate_helper_browsertest.cc b/chrome/renderer/translate_helper_browsertest.cc |
index 84e44580f85be5455761c8784f4d07a6ffdc5e12..448e99a25b1508491f652ba9dc6a2905ea88f016 100644 |
--- a/chrome/renderer/translate_helper_browsertest.cc |
+++ b/chrome/renderer/translate_helper_browsertest.cc |
@@ -29,6 +29,10 @@ class TestTranslateHelper : public TranslateHelper { |
OnTranslatePage(page_id, translate_script, source_lang, target_lang); |
} |
+ void CorrectLanguageCodeTypo(std::string* code) { |
MAD
2013/02/08 13:46:41
The way typically do this is by making the test a
Takashi Toyoshima
2013/02/11 06:59:33
I see.
I think FRIEND_TEST_ALL_PREFIXES is the mac
|
+ TranslateHelper::CorrectLanguageCodeTypo(code); |
+ } |
+ |
void ConvertLanguageCodeSynonym(std::string* code) { |
TranslateHelper::ConvertLanguageCodeSynonym(code); |
} |
@@ -307,6 +311,26 @@ TEST_F(TranslateHelperTest, MultipleDifferentTranslations) { |
EXPECT_EQ(TranslateErrors::NONE, error); |
} |
+// Tests that well-known language code typos are fixed. |
+TEST_F(TranslateHelperTest, LanguageCodeTypoCorrection) { |
sky
2013/02/11 21:10:14
Why do you need a browser test to verify CorrectLa
Takashi Toyoshima
2013/02/12 06:46:02
Done.
|
+ std::string language; |
+ |
+ // Strip the second and later codes. |
+ language = std::string("ja,en"); |
+ translate_helper_->CorrectLanguageCodeTypo(&language); |
+ EXPECT_EQ(0, language.compare("ja")); |
+ |
+ // Replace dash with hyphen. |
+ language = std::string("ja_JP"); |
+ translate_helper_->CorrectLanguageCodeTypo(&language); |
+ EXPECT_EQ(0, language.compare("ja-JP")); |
+ |
+ // Correct wrong cases. |
+ language = std::string("JA-jp"); |
+ translate_helper_->CorrectLanguageCodeTypo(&language); |
+ EXPECT_EQ(0, language.compare("ja-JP")); |
+} |
+ |
// Tests that synonym language code is converted to one used in supporting list. |
TEST_F(TranslateHelperTest, LanguageCodeSynonyms) { |
std::string language; |