Chromium Code Reviews| OLD | NEW |
|---|---|
| 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/common/chrome_constants.h" | 5 #include "chrome/common/chrome_constants.h" |
| 6 #include "chrome/common/render_messages.h" | 6 #include "chrome/common/render_messages.h" |
| 7 #include "chrome/renderer/translate_helper.h" | 7 #include "chrome/renderer/translate_helper.h" |
| 8 #include "chrome/test/base/chrome_render_view_test.h" | 8 #include "chrome/test/base/chrome_render_view_test.h" |
| 9 #include "content/public/renderer/render_view.h" | 9 #include "content/public/renderer/render_view.h" |
| 10 #include "testing/gmock/include/gmock/gmock.h" | 10 #include "testing/gmock/include/gmock/gmock.h" |
| (...skipping 11 matching lines...) Expand all Loading... | |
| 22 | 22 |
| 23 virtual bool DontDelayTasks() { return true; } | 23 virtual bool DontDelayTasks() { return true; } |
| 24 | 24 |
| 25 void TranslatePage(int page_id, | 25 void TranslatePage(int page_id, |
| 26 const std::string& source_lang, | 26 const std::string& source_lang, |
| 27 const std::string& target_lang, | 27 const std::string& target_lang, |
| 28 const std::string& translate_script) { | 28 const std::string& translate_script) { |
| 29 OnTranslatePage(page_id, translate_script, source_lang, target_lang); | 29 OnTranslatePage(page_id, translate_script, source_lang, target_lang); |
| 30 } | 30 } |
| 31 | 31 |
| 32 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
| |
| 33 TranslateHelper::CorrectLanguageCodeTypo(code); | |
| 34 } | |
| 35 | |
| 32 void ConvertLanguageCodeSynonym(std::string* code) { | 36 void ConvertLanguageCodeSynonym(std::string* code) { |
| 33 TranslateHelper::ConvertLanguageCodeSynonym(code); | 37 TranslateHelper::ConvertLanguageCodeSynonym(code); |
| 34 } | 38 } |
| 35 | 39 |
| 36 MOCK_METHOD0(IsTranslateLibAvailable, bool()); | 40 MOCK_METHOD0(IsTranslateLibAvailable, bool()); |
| 37 MOCK_METHOD0(IsTranslateLibReady, bool()); | 41 MOCK_METHOD0(IsTranslateLibReady, bool()); |
| 38 MOCK_METHOD0(HasTranslationFinished, bool()); | 42 MOCK_METHOD0(HasTranslationFinished, bool()); |
| 39 MOCK_METHOD0(HasTranslationFailed, bool()); | 43 MOCK_METHOD0(HasTranslationFailed, bool()); |
| 40 MOCK_METHOD0(GetOriginalPageLanguage, std::string()); | 44 MOCK_METHOD0(GetOriginalPageLanguage, std::string()); |
| 41 MOCK_METHOD0(StartTranslation, bool()); | 45 MOCK_METHOD0(StartTranslation, bool()); |
| (...skipping 258 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 300 ASSERT_TRUE(GetPageTranslatedMessage(&page_id, | 304 ASSERT_TRUE(GetPageTranslatedMessage(&page_id, |
| 301 &received_original_lang, | 305 &received_original_lang, |
| 302 &received_target_lang, | 306 &received_target_lang, |
| 303 &error)); | 307 &error)); |
| 304 EXPECT_EQ(view_->GetPageId(), page_id); | 308 EXPECT_EQ(view_->GetPageId(), page_id); |
| 305 EXPECT_EQ(original_lang, received_original_lang); | 309 EXPECT_EQ(original_lang, received_original_lang); |
| 306 EXPECT_EQ(new_target_lang, received_target_lang); | 310 EXPECT_EQ(new_target_lang, received_target_lang); |
| 307 EXPECT_EQ(TranslateErrors::NONE, error); | 311 EXPECT_EQ(TranslateErrors::NONE, error); |
| 308 } | 312 } |
| 309 | 313 |
| 314 // Tests that well-known language code typos are fixed. | |
| 315 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.
| |
| 316 std::string language; | |
| 317 | |
| 318 // Strip the second and later codes. | |
| 319 language = std::string("ja,en"); | |
| 320 translate_helper_->CorrectLanguageCodeTypo(&language); | |
| 321 EXPECT_EQ(0, language.compare("ja")); | |
| 322 | |
| 323 // Replace dash with hyphen. | |
| 324 language = std::string("ja_JP"); | |
| 325 translate_helper_->CorrectLanguageCodeTypo(&language); | |
| 326 EXPECT_EQ(0, language.compare("ja-JP")); | |
| 327 | |
| 328 // Correct wrong cases. | |
| 329 language = std::string("JA-jp"); | |
| 330 translate_helper_->CorrectLanguageCodeTypo(&language); | |
| 331 EXPECT_EQ(0, language.compare("ja-JP")); | |
| 332 } | |
| 333 | |
| 310 // Tests that synonym language code is converted to one used in supporting list. | 334 // Tests that synonym language code is converted to one used in supporting list. |
| 311 TEST_F(TranslateHelperTest, LanguageCodeSynonyms) { | 335 TEST_F(TranslateHelperTest, LanguageCodeSynonyms) { |
| 312 std::string language; | 336 std::string language; |
| 313 | 337 |
| 314 language = std::string("nb"); | 338 language = std::string("nb"); |
| 315 translate_helper_->ConvertLanguageCodeSynonym(&language); | 339 translate_helper_->ConvertLanguageCodeSynonym(&language); |
| 316 EXPECT_EQ(0, language.compare("no")); | 340 EXPECT_EQ(0, language.compare("no")); |
| 317 | 341 |
| 318 language = std::string("he"); | 342 language = std::string("he"); |
| 319 translate_helper_->ConvertLanguageCodeSynonym(&language); | 343 translate_helper_->ConvertLanguageCodeSynonym(&language); |
| (...skipping 144 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 464 | 488 |
| 465 GoBack(GetMainFrame()->previousHistoryItem()); | 489 GoBack(GetMainFrame()->previousHistoryItem()); |
| 466 | 490 |
| 467 message = render_thread_->sink().GetUniqueMessageMatching( | 491 message = render_thread_->sink().GetUniqueMessageMatching( |
| 468 ChromeViewHostMsg_TranslateLanguageDetermined::ID); | 492 ChromeViewHostMsg_TranslateLanguageDetermined::ID); |
| 469 ASSERT_NE(static_cast<IPC::Message*>(NULL), message); | 493 ASSERT_NE(static_cast<IPC::Message*>(NULL), message); |
| 470 ChromeViewHostMsg_TranslateLanguageDetermined::Read(message, ¶ms); | 494 ChromeViewHostMsg_TranslateLanguageDetermined::Read(message, ¶ms); |
| 471 EXPECT_EQ("zh", params.a); | 495 EXPECT_EQ("zh", params.a); |
| 472 render_thread_->sink().ClearMessages(); | 496 render_thread_->sink().ClearMessages(); |
| 473 } | 497 } |
| OLD | NEW |