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 |