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

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

Issue 336793004: Revert 277111 "Roll ICU to icu52" (Closed) Base URL: svn://svn.chromium.org/chrome/
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"
10 #include "base/memory/scoped_ptr.h" 9 #include "base/memory/scoped_ptr.h"
11 #include "base/prefs/pref_change_registrar.h" 10 #include "base/prefs/pref_change_registrar.h"
12 #include "base/prefs/pref_service.h" 11 #include "base/prefs/pref_service.h"
13 #include "base/strings/stringprintf.h" 12 #include "base/strings/stringprintf.h"
14 #include "chrome/app/chrome_command_ids.h" 13 #include "chrome/app/chrome_command_ids.h"
15 #include "chrome/browser/chrome_notification_types.h" 14 #include "chrome/browser/chrome_notification_types.h"
16 #include "chrome/browser/extensions/test_extension_system.h" 15 #include "chrome/browser/extensions/test_extension_system.h"
17 #include "chrome/browser/infobars/infobar_service.h" 16 #include "chrome/browser/infobars/infobar_service.h"
18 #include "chrome/browser/renderer_context_menu/render_view_context_menu_test_uti l.h" 17 #include "chrome/browser/renderer_context_menu/render_view_context_menu_test_uti l.h"
19 #include "chrome/browser/translate/chrome_translate_client.h" 18 #include "chrome/browser/translate/chrome_translate_client.h"
(...skipping 595 matching lines...) Expand 10 before | Expand all | Expand 10 after
615 infobar = GetTranslateInfoBar(); 614 infobar = GetTranslateInfoBar();
616 bool expected = 615 bool expected =
617 TranslateDownloadManager::IsSupportedLanguage(lang) && lang != "en"; 616 TranslateDownloadManager::IsSupportedLanguage(lang) && lang != "en";
618 EXPECT_EQ(expected, infobar != NULL); 617 EXPECT_EQ(expected, infobar != NULL);
619 618
620 if (infobar != NULL) 619 if (infobar != NULL)
621 EXPECT_TRUE(CloseTranslateInfoBar()); 620 EXPECT_TRUE(CloseTranslateInfoBar());
622 } 621 }
623 } 622 }
624 623
625 // A list of languages to fake being returned by the translate server.
626 // Use only langauges for which Chrome's copy of ICU has
627 // display names in English locale. To save space, Chrome's copy of ICU
628 // does not have the display name for a language unless it's in the
629 // Accept-Language list.
630 static const char* server_language_list[] =
631 {"ach", "ak", "af", "en-CA", "zh", "yi", "fr-FR", "tl", "iw", "in", "xx"};
632 static const char* alpha_language_list[] = {"ach", "yi"};
633
634 // Test the fetching of languages from the translate server 624 // Test the fetching of languages from the translate server
635 TEST_F(TranslateManagerRenderViewHostTest, FetchLanguagesFromTranslateServer) { 625 TEST_F(TranslateManagerRenderViewHostTest, FetchLanguagesFromTranslateServer) {
636 std::vector<std::string> server_languages; 626 std::vector<std::string> server_languages;
637 for (size_t i = 0; i < arraysize(server_language_list); ++i) 627 // A list of languages to fake being returned by the translate server.
638 server_languages.push_back(server_language_list[i]); 628 server_languages.push_back("aa");
629 server_languages.push_back("ak");
630 server_languages.push_back("ab");
631 server_languages.push_back("en-CA");
632 server_languages.push_back("zh");
633 server_languages.push_back("yi");
634 server_languages.push_back("fr-FR");
635 server_languages.push_back("xx");
639 636
640 std::vector<std::string> alpha_languages; 637 std::vector<std::string> alpha_languages;
641 for (size_t i = 0; i < arraysize(alpha_language_list); ++i) 638 alpha_languages.push_back("aa");
642 alpha_languages.push_back(alpha_language_list[i]); 639 alpha_languages.push_back("yi");
643 640
644 // First, get the default languages list. Note that calling 641 // First, get the default languages list. Note that calling
645 // GetSupportedLanguages() invokes RequestLanguageList() internally. 642 // GetSupportedLanguages() invokes RequestLanguageList() internally.
646 std::vector<std::string> default_supported_languages; 643 std::vector<std::string> default_supported_languages;
647 TranslateDownloadManager::GetSupportedLanguages(&default_supported_languages); 644 TranslateDownloadManager::GetSupportedLanguages(&default_supported_languages);
648 // To make sure we got the defaults and don't confuse them with the mocks. 645 // To make sure we got the defaults and don't confuse them with the mocks.
649 ASSERT_NE(default_supported_languages.size(), server_languages.size()); 646 ASSERT_NE(default_supported_languages.size(), server_languages.size());
650 647
651 // Check that we still get the defaults until the URLFetch has completed. 648 // Check that we still get the defaults until the URLFetch has completed.
652 std::vector<std::string> current_supported_languages; 649 std::vector<std::string> current_supported_languages;
(...skipping 15 matching lines...) Expand all
668 // "xx" can't be displayed in the Translate infobar, so this is eliminated. 665 // "xx" can't be displayed in the Translate infobar, so this is eliminated.
669 EXPECT_EQ(server_languages.size() - 1, current_supported_languages.size()); 666 EXPECT_EQ(server_languages.size() - 1, current_supported_languages.size());
670 // Not sure we need to guarantee the order of languages, so we find them. 667 // Not sure we need to guarantee the order of languages, so we find them.
671 for (size_t i = 0; i < server_languages.size(); ++i) { 668 for (size_t i = 0; i < server_languages.size(); ++i) {
672 const std::string& lang = server_languages[i]; 669 const std::string& lang = server_languages[i];
673 if (lang == "xx") 670 if (lang == "xx")
674 continue; 671 continue;
675 EXPECT_NE(current_supported_languages.end(), 672 EXPECT_NE(current_supported_languages.end(),
676 std::find(current_supported_languages.begin(), 673 std::find(current_supported_languages.begin(),
677 current_supported_languages.end(), 674 current_supported_languages.end(),
678 lang)) << "lang=" << lang; 675 lang));
679 bool is_alpha = 676 bool is_alpha =
680 std::find(alpha_languages.begin(), alpha_languages.end(), lang) != 677 std::find(alpha_languages.begin(), alpha_languages.end(), lang) !=
681 alpha_languages.end(); 678 alpha_languages.end();
682 EXPECT_EQ(TranslateDownloadManager::IsAlphaLanguage(lang), 679 EXPECT_EQ(TranslateDownloadManager::IsAlphaLanguage(lang), is_alpha);
683 is_alpha) << "lang=" << lang;
684 } 680 }
685 } 681 }
686 682
687 // Test the fetching of languages from the translate server without 'al' 683 // Test the fetching of languages from the translate server without 'al'
688 // parameter. 684 // parameter.
689 TEST_F(TranslateManagerRenderViewHostTest, 685 TEST_F(TranslateManagerRenderViewHostTest,
690 FetchLanguagesFromTranslateServerWithoutAlpha) { 686 FetchLanguagesFromTranslateServerWithoutAlpha) {
691 std::vector<std::string> server_languages; 687 std::vector<std::string> server_languages;
692 for (size_t i = 0; i < arraysize(server_language_list); ++i) 688 server_languages.push_back("aa");
693 server_languages.push_back(server_language_list[i]); 689 server_languages.push_back("ak");
690 server_languages.push_back("ab");
691 server_languages.push_back("en-CA");
692 server_languages.push_back("zh");
693 server_languages.push_back("yi");
694 server_languages.push_back("fr-FR");
695 server_languages.push_back("xx");
694 696
695 std::vector<std::string> alpha_languages; 697 std::vector<std::string> alpha_languages;
696 for (size_t i = 0; i < arraysize(alpha_language_list); ++i) 698 alpha_languages.push_back("aa");
697 alpha_languages.push_back(alpha_language_list[i]); 699 alpha_languages.push_back("yi");
698 700
699 // call GetSupportedLanguages to call RequestLanguageList internally. 701 // call GetSupportedLanguages to call RequestLanguageList internally.
700 std::vector<std::string> default_supported_languages; 702 std::vector<std::string> default_supported_languages;
701 TranslateDownloadManager::GetSupportedLanguages(&default_supported_languages); 703 TranslateDownloadManager::GetSupportedLanguages(&default_supported_languages);
702 704
703 SimulateSupportedLanguagesURLFetch( 705 SimulateSupportedLanguagesURLFetch(
704 true, server_languages, false, alpha_languages); 706 true, server_languages, false, alpha_languages);
705 707
706 std::vector<std::string> current_supported_languages; 708 std::vector<std::string> current_supported_languages;
707 TranslateDownloadManager::GetSupportedLanguages(&current_supported_languages); 709 TranslateDownloadManager::GetSupportedLanguages(&current_supported_languages);
708 710
709 // "xx" can't be displayed in the Translate infobar, so this is eliminated. 711 // "xx" can't be displayed in the Translate infobar, so this is eliminated.
710 EXPECT_EQ(server_languages.size() - 1, current_supported_languages.size()); 712 EXPECT_EQ(server_languages.size() - 1, current_supported_languages.size());
711 713
712 for (size_t i = 0; i < server_languages.size(); ++i) { 714 for (size_t i = 0; i < server_languages.size(); ++i) {
713 const std::string& lang = server_languages[i]; 715 const std::string& lang = server_languages[i];
714 if (lang == "xx") 716 if (lang == "xx")
715 continue; 717 continue;
716 EXPECT_NE(current_supported_languages.end(), 718 EXPECT_NE(current_supported_languages.end(),
717 std::find(current_supported_languages.begin(), 719 std::find(current_supported_languages.begin(),
718 current_supported_languages.end(), 720 current_supported_languages.end(),
719 lang)) << "lang=" << lang; 721 lang));
720 EXPECT_FALSE(TranslateDownloadManager::IsAlphaLanguage(lang)) << 722 EXPECT_FALSE(TranslateDownloadManager::IsAlphaLanguage(lang));
721 "lang=" << lang;
722 } 723 }
723 } 724 }
724 725
725 // Tests auto-translate on page. 726 // Tests auto-translate on page.
726 TEST_F(TranslateManagerRenderViewHostTest, AutoTranslateOnNavigate) { 727 TEST_F(TranslateManagerRenderViewHostTest, AutoTranslateOnNavigate) {
727 // TODO(port): Test corresponding bubble translate UX: http://crbug.com/383235 728 // TODO(port): Test corresponding bubble translate UX: http://crbug.com/383235
728 if (TranslateService::IsTranslateBubbleEnabled()) 729 if (TranslateService::IsTranslateBubbleEnabled())
729 return; 730 return;
730 731
731 SimulateNavigation(GURL("http://www.google.fr"), "fr", true); 732 SimulateNavigation(GURL("http://www.google.fr"), "fr", true);
(...skipping 916 matching lines...) Expand 10 before | Expand all | Expand 10 after
1648 menu->ExecuteCommand(IDC_CONTENT_CONTEXT_TRANSLATE, 0); 1649 menu->ExecuteCommand(IDC_CONTENT_CONTEXT_TRANSLATE, 0);
1649 1650
1650 // Check the bubble exists instead of the infobar. 1651 // Check the bubble exists instead of the infobar.
1651 TranslateInfoBarDelegate* infobar = GetTranslateInfoBar(); 1652 TranslateInfoBarDelegate* infobar = GetTranslateInfoBar();
1652 ASSERT_TRUE(infobar == NULL); 1653 ASSERT_TRUE(infobar == NULL);
1653 TranslateBubbleModel* bubble = factory->model(); 1654 TranslateBubbleModel* bubble = factory->model();
1654 ASSERT_TRUE(bubble != NULL); 1655 ASSERT_TRUE(bubble != NULL);
1655 EXPECT_EQ(TranslateBubbleModel::VIEW_STATE_TRANSLATING, 1656 EXPECT_EQ(TranslateBubbleModel::VIEW_STATE_TRANSLATING,
1656 bubble->GetViewState()); 1657 bubble->GetViewState());
1657 } 1658 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698