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

Side by Side Diff: chrome/browser/translate/translate_manager_render_view_host_unittest.cc

Issue 265613002: Roll ICU to icu52 (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: Created 6 years, 6 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 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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 <algorithm> 5 #include <algorithm>
6 #include <set> 6 #include <set>
7 #include <vector> 7 #include <vector>
8 8
9 #include "base/macros.h"
9 #include "base/memory/scoped_ptr.h" 10 #include "base/memory/scoped_ptr.h"
10 #include "base/prefs/pref_change_registrar.h" 11 #include "base/prefs/pref_change_registrar.h"
11 #include "base/prefs/pref_service.h" 12 #include "base/prefs/pref_service.h"
12 #include "base/strings/stringprintf.h" 13 #include "base/strings/stringprintf.h"
13 #include "chrome/app/chrome_command_ids.h" 14 #include "chrome/app/chrome_command_ids.h"
14 #include "chrome/browser/chrome_notification_types.h" 15 #include "chrome/browser/chrome_notification_types.h"
15 #include "chrome/browser/extensions/test_extension_system.h" 16 #include "chrome/browser/extensions/test_extension_system.h"
16 #include "chrome/browser/infobars/infobar_service.h" 17 #include "chrome/browser/infobars/infobar_service.h"
17 #include "chrome/browser/renderer_context_menu/render_view_context_menu_test_uti l.h" 18 #include "chrome/browser/renderer_context_menu/render_view_context_menu_test_uti l.h"
18 #include "chrome/browser/translate/translate_infobar_delegate.h" 19 #include "chrome/browser/translate/translate_infobar_delegate.h"
(...skipping 577 matching lines...) Expand 10 before | Expand all | Expand 10 after
596 infobar = GetTranslateInfoBar(); 597 infobar = GetTranslateInfoBar();
597 bool expected = 598 bool expected =
598 TranslateDownloadManager::IsSupportedLanguage(lang) && lang != "en"; 599 TranslateDownloadManager::IsSupportedLanguage(lang) && lang != "en";
599 EXPECT_EQ(expected, infobar != NULL); 600 EXPECT_EQ(expected, infobar != NULL);
600 601
601 if (infobar != NULL) 602 if (infobar != NULL)
602 EXPECT_TRUE(CloseTranslateInfoBar()); 603 EXPECT_TRUE(CloseTranslateInfoBar());
603 } 604 }
604 } 605 }
605 606
607 // A list of languages to fake being returned by the translate server.
608 // Use only langauges for which Chrome's copy of ICU has
609 // display names in English locale. To save space, Chrome's copy of ICU
610 // does not have the display name for a language unless it's in the
611 // Accept-Language list.
612 static const char* server_language_list[] =
613 {"ach", "ak", "af", "en-CA", "zh", "yi", "fr-FR", "tl", "iw", "in", "xx"};
614 static const char* alpha_language_list[] = {"ach", "yi"};
615
606 // Test the fetching of languages from the translate server 616 // Test the fetching of languages from the translate server
607 TEST_F(TranslateManagerRenderViewHostTest, FetchLanguagesFromTranslateServer) { 617 TEST_F(TranslateManagerRenderViewHostTest, FetchLanguagesFromTranslateServer) {
608 std::vector<std::string> server_languages; 618 std::vector<std::string> server_languages;
609 // A list of languages to fake being returned by the translate server. 619 for (size_t i = 0; i < arraysize(server_language_list); ++i)
610 server_languages.push_back("aa"); 620 server_languages.push_back(server_language_list[i]);
611 server_languages.push_back("ak");
612 server_languages.push_back("ab");
613 server_languages.push_back("en-CA");
614 server_languages.push_back("zh");
615 server_languages.push_back("yi");
616 server_languages.push_back("fr-FR");
617 server_languages.push_back("xx");
618 621
619 std::vector<std::string> alpha_languages; 622 std::vector<std::string> alpha_languages;
620 alpha_languages.push_back("aa"); 623 for (size_t i = 0; i < arraysize(alpha_language_list); ++i)
621 alpha_languages.push_back("yi"); 624 alpha_languages.push_back(alpha_language_list[i]);
622 625
623 // First, get the default languages list. Note that calling 626 // First, get the default languages list. Note that calling
624 // GetSupportedLanguages() invokes RequestLanguageList() internally. 627 // GetSupportedLanguages() invokes RequestLanguageList() internally.
625 std::vector<std::string> default_supported_languages; 628 std::vector<std::string> default_supported_languages;
626 TranslateDownloadManager::GetSupportedLanguages(&default_supported_languages); 629 TranslateDownloadManager::GetSupportedLanguages(&default_supported_languages);
627 // To make sure we got the defaults and don't confuse them with the mocks. 630 // To make sure we got the defaults and don't confuse them with the mocks.
628 ASSERT_NE(default_supported_languages.size(), server_languages.size()); 631 ASSERT_NE(default_supported_languages.size(), server_languages.size());
629 632
630 // Check that we still get the defaults until the URLFetch has completed. 633 // Check that we still get the defaults until the URLFetch has completed.
631 std::vector<std::string> current_supported_languages; 634 std::vector<std::string> current_supported_languages;
(...skipping 15 matching lines...) Expand all
647 // "xx" can't be displayed in the Translate inforbar, so this is eliminated. 650 // "xx" can't be displayed in the Translate inforbar, so this is eliminated.
648 EXPECT_EQ(server_languages.size() - 1, current_supported_languages.size()); 651 EXPECT_EQ(server_languages.size() - 1, current_supported_languages.size());
649 // Not sure we need to guarantee the order of languages, so we find them. 652 // Not sure we need to guarantee the order of languages, so we find them.
650 for (size_t i = 0; i < server_languages.size(); ++i) { 653 for (size_t i = 0; i < server_languages.size(); ++i) {
651 const std::string& lang = server_languages[i]; 654 const std::string& lang = server_languages[i];
652 if (lang == "xx") 655 if (lang == "xx")
653 continue; 656 continue;
654 EXPECT_NE(current_supported_languages.end(), 657 EXPECT_NE(current_supported_languages.end(),
655 std::find(current_supported_languages.begin(), 658 std::find(current_supported_languages.begin(),
656 current_supported_languages.end(), 659 current_supported_languages.end(),
657 lang)); 660 lang)) << "lang=" << lang;
658 bool is_alpha = 661 bool is_alpha =
659 std::find(alpha_languages.begin(), alpha_languages.end(), lang) != 662 std::find(alpha_languages.begin(), alpha_languages.end(), lang) !=
660 alpha_languages.end(); 663 alpha_languages.end();
661 EXPECT_EQ(TranslateDownloadManager::IsAlphaLanguage(lang), is_alpha); 664 EXPECT_EQ(TranslateDownloadManager::IsAlphaLanguage(lang),
665 is_alpha) << "lang=" << lang;
662 } 666 }
663 } 667 }
664 668
665 // Test the fetching of languages from the translate server without 'al' 669 // Test the fetching of languages from the translate server without 'al'
666 // parameter. 670 // parameter.
667 TEST_F(TranslateManagerRenderViewHostTest, 671 TEST_F(TranslateManagerRenderViewHostTest,
668 FetchLanguagesFromTranslateServerWithoutAlpha) { 672 FetchLanguagesFromTranslateServerWithoutAlpha) {
669 std::vector<std::string> server_languages; 673 std::vector<std::string> server_languages;
670 server_languages.push_back("aa"); 674 for (size_t i = 0; i < arraysize(server_language_list); ++i)
671 server_languages.push_back("ak"); 675 server_languages.push_back(server_language_list[i]);
672 server_languages.push_back("ab");
673 server_languages.push_back("en-CA");
674 server_languages.push_back("zh");
675 server_languages.push_back("yi");
676 server_languages.push_back("fr-FR");
677 server_languages.push_back("xx");
678 676
679 std::vector<std::string> alpha_languages; 677 std::vector<std::string> alpha_languages;
680 alpha_languages.push_back("aa"); 678 for (size_t i = 0; i < arraysize(alpha_language_list); ++i)
681 alpha_languages.push_back("yi"); 679 alpha_languages.push_back(alpha_language_list[i]);
682 680
683 // call GetSupportedLanguages to call RequestLanguageList internally. 681 // call GetSupportedLanguages to call RequestLanguageList internally.
684 std::vector<std::string> default_supported_languages; 682 std::vector<std::string> default_supported_languages;
685 TranslateDownloadManager::GetSupportedLanguages(&default_supported_languages); 683 TranslateDownloadManager::GetSupportedLanguages(&default_supported_languages);
686 684
687 SimulateSupportedLanguagesURLFetch( 685 SimulateSupportedLanguagesURLFetch(
688 true, server_languages, false, alpha_languages); 686 true, server_languages, false, alpha_languages);
689 687
690 std::vector<std::string> current_supported_languages; 688 std::vector<std::string> current_supported_languages;
691 TranslateDownloadManager::GetSupportedLanguages(&current_supported_languages); 689 TranslateDownloadManager::GetSupportedLanguages(&current_supported_languages);
692 690
693 // "xx" can't be displayed in the Translate inforbar, so this is eliminated. 691 // "xx" can't be displayed in the Translate inforbar, so this is eliminated.
694 EXPECT_EQ(server_languages.size() - 1, current_supported_languages.size()); 692 EXPECT_EQ(server_languages.size() - 1, current_supported_languages.size());
695 693
696 for (size_t i = 0; i < server_languages.size(); ++i) { 694 for (size_t i = 0; i < server_languages.size(); ++i) {
697 const std::string& lang = server_languages[i]; 695 const std::string& lang = server_languages[i];
698 if (lang == "xx") 696 if (lang == "xx")
699 continue; 697 continue;
700 EXPECT_NE(current_supported_languages.end(), 698 EXPECT_NE(current_supported_languages.end(),
701 std::find(current_supported_languages.begin(), 699 std::find(current_supported_languages.begin(),
702 current_supported_languages.end(), 700 current_supported_languages.end(),
703 lang)); 701 lang)) << "lang=" << lang;
704 EXPECT_FALSE(TranslateDownloadManager::IsAlphaLanguage(lang)); 702 EXPECT_FALSE(TranslateDownloadManager::IsAlphaLanguage(lang)) <<
703 "lang=" << lang;
705 } 704 }
706 } 705 }
707 706
708 // Tests auto-translate on page. 707 // Tests auto-translate on page.
709 TEST_F(TranslateManagerRenderViewHostTest, AutoTranslateOnNavigate) { 708 TEST_F(TranslateManagerRenderViewHostTest, AutoTranslateOnNavigate) {
710 SimulateNavigation(GURL("http://www.google.fr"), "fr", true); 709 SimulateNavigation(GURL("http://www.google.fr"), "fr", true);
711 710
712 // Simulate the user translating. 711 // Simulate the user translating.
713 TranslateInfoBarDelegate* infobar = GetTranslateInfoBar(); 712 TranslateInfoBarDelegate* infobar = GetTranslateInfoBar();
714 ASSERT_TRUE(infobar != NULL); 713 ASSERT_TRUE(infobar != NULL);
(...skipping 829 matching lines...) Expand 10 before | Expand all | Expand 10 after
1544 // Check the bubble exists instead of the infobar. 1543 // Check the bubble exists instead of the infobar.
1545 TranslateInfoBarDelegate* infobar = GetTranslateInfoBar(); 1544 TranslateInfoBarDelegate* infobar = GetTranslateInfoBar();
1546 ASSERT_TRUE(infobar == NULL); 1545 ASSERT_TRUE(infobar == NULL);
1547 TranslateBubbleModel* bubble = factory->model(); 1546 TranslateBubbleModel* bubble = factory->model();
1548 ASSERT_TRUE(bubble != NULL); 1547 ASSERT_TRUE(bubble != NULL);
1549 EXPECT_EQ(TranslateBubbleModel::VIEW_STATE_TRANSLATING, 1548 EXPECT_EQ(TranslateBubbleModel::VIEW_STATE_TRANSLATING,
1550 bubble->GetViewState()); 1549 bubble->GetViewState());
1551 } 1550 }
1552 1551
1553 #endif // defined(USE_AURA) 1552 #endif // defined(USE_AURA)
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698