Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(55)

Side by Side Diff: chrome/renderer/translate_helper_browsertest.cc

Issue 12221085: Translate: split language code typo correction to apply unit tests. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
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
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
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
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, &params); 494 ChromeViewHostMsg_TranslateLanguageDetermined::Read(message, &params);
471 EXPECT_EQ("zh", params.a); 495 EXPECT_EQ("zh", params.a);
472 render_thread_->sink().ClearMessages(); 496 render_thread_->sink().ClearMessages();
473 } 497 }
OLDNEW
« chrome/renderer/translate_helper.h ('K') | « chrome/renderer/translate_helper.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698