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

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, 5 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/chrome_translate_client.h" 19 #include "chrome/browser/translate/chrome_translate_client.h"
(...skipping 592 matching lines...) Expand 10 before | Expand all | Expand 10 after
611 infobar = GetTranslateInfoBar(); 612 infobar = GetTranslateInfoBar();
612 bool expected = 613 bool expected =
613 TranslateDownloadManager::IsSupportedLanguage(lang) && lang != "en"; 614 TranslateDownloadManager::IsSupportedLanguage(lang) && lang != "en";
614 EXPECT_EQ(expected, infobar != NULL); 615 EXPECT_EQ(expected, infobar != NULL);
615 616
616 if (infobar != NULL) 617 if (infobar != NULL)
617 EXPECT_TRUE(CloseTranslateInfoBar()); 618 EXPECT_TRUE(CloseTranslateInfoBar());
618 } 619 }
619 } 620 }
620 621
622 // A list of languages to fake being returned by the translate server.
623 // Use only langauges for which Chrome's copy of ICU has
624 // display names in English locale. To save space, Chrome's copy of ICU
625 // does not have the display name for a language unless it's in the
626 // Accept-Language list.
627 static const char* server_language_list[] =
628 {"ach", "ak", "af", "en-CA", "zh", "yi", "fr-FR", "tl", "iw", "in", "xx"};
629 static const char* alpha_language_list[] = {"ach", "yi"};
630
621 // Test the fetching of languages from the translate server 631 // Test the fetching of languages from the translate server
622 TEST_F(TranslateManagerRenderViewHostTest, FetchLanguagesFromTranslateServer) { 632 TEST_F(TranslateManagerRenderViewHostTest, FetchLanguagesFromTranslateServer) {
623 std::vector<std::string> server_languages; 633 std::vector<std::string> server_languages;
624 // A list of languages to fake being returned by the translate server. 634 for (size_t i = 0; i < arraysize(server_language_list); ++i)
625 server_languages.push_back("aa"); 635 server_languages.push_back(server_language_list[i]);
626 server_languages.push_back("ak");
627 server_languages.push_back("ab");
628 server_languages.push_back("en-CA");
629 server_languages.push_back("zh");
630 server_languages.push_back("yi");
631 server_languages.push_back("fr-FR");
632 server_languages.push_back("xx");
633 636
634 std::vector<std::string> alpha_languages; 637 std::vector<std::string> alpha_languages;
635 alpha_languages.push_back("aa"); 638 for (size_t i = 0; i < arraysize(alpha_language_list); ++i)
636 alpha_languages.push_back("yi"); 639 alpha_languages.push_back(alpha_language_list[i]);
637 640
638 // First, get the default languages list. Note that calling 641 // First, get the default languages list. Note that calling
639 // GetSupportedLanguages() invokes RequestLanguageList() internally. 642 // GetSupportedLanguages() invokes RequestLanguageList() internally.
640 std::vector<std::string> default_supported_languages; 643 std::vector<std::string> default_supported_languages;
641 TranslateDownloadManager::GetSupportedLanguages(&default_supported_languages); 644 TranslateDownloadManager::GetSupportedLanguages(&default_supported_languages);
642 // 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.
643 ASSERT_NE(default_supported_languages.size(), server_languages.size()); 646 ASSERT_NE(default_supported_languages.size(), server_languages.size());
644 647
645 // 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.
646 std::vector<std::string> current_supported_languages; 649 std::vector<std::string> current_supported_languages;
(...skipping 15 matching lines...) Expand all
662 // "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.
663 EXPECT_EQ(server_languages.size() - 1, current_supported_languages.size()); 666 EXPECT_EQ(server_languages.size() - 1, current_supported_languages.size());
664 // 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.
665 for (size_t i = 0; i < server_languages.size(); ++i) { 668 for (size_t i = 0; i < server_languages.size(); ++i) {
666 const std::string& lang = server_languages[i]; 669 const std::string& lang = server_languages[i];
667 if (lang == "xx") 670 if (lang == "xx")
668 continue; 671 continue;
669 EXPECT_NE(current_supported_languages.end(), 672 EXPECT_NE(current_supported_languages.end(),
670 std::find(current_supported_languages.begin(), 673 std::find(current_supported_languages.begin(),
671 current_supported_languages.end(), 674 current_supported_languages.end(),
672 lang)); 675 lang)) << "lang=" << lang;
673 bool is_alpha = 676 bool is_alpha =
674 std::find(alpha_languages.begin(), alpha_languages.end(), lang) != 677 std::find(alpha_languages.begin(), alpha_languages.end(), lang) !=
675 alpha_languages.end(); 678 alpha_languages.end();
676 EXPECT_EQ(TranslateDownloadManager::IsAlphaLanguage(lang), is_alpha); 679 EXPECT_EQ(TranslateDownloadManager::IsAlphaLanguage(lang),
680 is_alpha) << "lang=" << lang;
677 } 681 }
678 } 682 }
679 683
680 // Test the fetching of languages from the translate server without 'al' 684 // Test the fetching of languages from the translate server without 'al'
681 // parameter. 685 // parameter.
682 TEST_F(TranslateManagerRenderViewHostTest, 686 TEST_F(TranslateManagerRenderViewHostTest,
683 FetchLanguagesFromTranslateServerWithoutAlpha) { 687 FetchLanguagesFromTranslateServerWithoutAlpha) {
684 std::vector<std::string> server_languages; 688 std::vector<std::string> server_languages;
685 server_languages.push_back("aa"); 689 for (size_t i = 0; i < arraysize(server_language_list); ++i)
686 server_languages.push_back("ak"); 690 server_languages.push_back(server_language_list[i]);
687 server_languages.push_back("ab");
688 server_languages.push_back("en-CA");
689 server_languages.push_back("zh");
690 server_languages.push_back("yi");
691 server_languages.push_back("fr-FR");
692 server_languages.push_back("xx");
693 691
694 std::vector<std::string> alpha_languages; 692 std::vector<std::string> alpha_languages;
695 alpha_languages.push_back("aa"); 693 for (size_t i = 0; i < arraysize(alpha_language_list); ++i)
696 alpha_languages.push_back("yi"); 694 alpha_languages.push_back(alpha_language_list[i]);
697 695
698 // call GetSupportedLanguages to call RequestLanguageList internally. 696 // call GetSupportedLanguages to call RequestLanguageList internally.
699 std::vector<std::string> default_supported_languages; 697 std::vector<std::string> default_supported_languages;
700 TranslateDownloadManager::GetSupportedLanguages(&default_supported_languages); 698 TranslateDownloadManager::GetSupportedLanguages(&default_supported_languages);
701 699
702 SimulateSupportedLanguagesURLFetch( 700 SimulateSupportedLanguagesURLFetch(
703 true, server_languages, false, alpha_languages); 701 true, server_languages, false, alpha_languages);
704 702
705 std::vector<std::string> current_supported_languages; 703 std::vector<std::string> current_supported_languages;
706 TranslateDownloadManager::GetSupportedLanguages(&current_supported_languages); 704 TranslateDownloadManager::GetSupportedLanguages(&current_supported_languages);
707 705
708 // "xx" can't be displayed in the Translate infobar, so this is eliminated. 706 // "xx" can't be displayed in the Translate infobar, so this is eliminated.
709 EXPECT_EQ(server_languages.size() - 1, current_supported_languages.size()); 707 EXPECT_EQ(server_languages.size() - 1, current_supported_languages.size());
710 708
711 for (size_t i = 0; i < server_languages.size(); ++i) { 709 for (size_t i = 0; i < server_languages.size(); ++i) {
712 const std::string& lang = server_languages[i]; 710 const std::string& lang = server_languages[i];
713 if (lang == "xx") 711 if (lang == "xx")
714 continue; 712 continue;
715 EXPECT_NE(current_supported_languages.end(), 713 EXPECT_NE(current_supported_languages.end(),
716 std::find(current_supported_languages.begin(), 714 std::find(current_supported_languages.begin(),
717 current_supported_languages.end(), 715 current_supported_languages.end(),
718 lang)); 716 lang)) << "lang=" << lang;
719 EXPECT_FALSE(TranslateDownloadManager::IsAlphaLanguage(lang)); 717 EXPECT_FALSE(TranslateDownloadManager::IsAlphaLanguage(lang)) <<
718 "lang=" << lang;
720 } 719 }
721 } 720 }
722 721
723 // Tests auto-translate on page. 722 // Tests auto-translate on page.
724 TEST_F(TranslateManagerRenderViewHostTest, AutoTranslateOnNavigate) { 723 TEST_F(TranslateManagerRenderViewHostTest, AutoTranslateOnNavigate) {
725 // TODO(port): Test corresponding bubble translate UX: http://crbug.com/383235 724 // TODO(port): Test corresponding bubble translate UX: http://crbug.com/383235
726 if (TranslateService::IsTranslateBubbleEnabled()) 725 if (TranslateService::IsTranslateBubbleEnabled())
727 return; 726 return;
728 727
729 SimulateNavigation(GURL("http://www.google.fr"), "fr", true); 728 SimulateNavigation(GURL("http://www.google.fr"), "fr", true);
(...skipping 915 matching lines...) Expand 10 before | Expand all | Expand 10 after
1645 menu->ExecuteCommand(IDC_CONTENT_CONTEXT_TRANSLATE, 0); 1644 menu->ExecuteCommand(IDC_CONTENT_CONTEXT_TRANSLATE, 0);
1646 1645
1647 // Check the bubble exists instead of the infobar. 1646 // Check the bubble exists instead of the infobar.
1648 TranslateInfoBarDelegate* infobar = GetTranslateInfoBar(); 1647 TranslateInfoBarDelegate* infobar = GetTranslateInfoBar();
1649 ASSERT_TRUE(infobar == NULL); 1648 ASSERT_TRUE(infobar == NULL);
1650 TranslateBubbleModel* bubble = factory->model(); 1649 TranslateBubbleModel* bubble = factory->model();
1651 ASSERT_TRUE(bubble != NULL); 1650 ASSERT_TRUE(bubble != NULL);
1652 EXPECT_EQ(TranslateBubbleModel::VIEW_STATE_TRANSLATING, 1651 EXPECT_EQ(TranslateBubbleModel::VIEW_STATE_TRANSLATING,
1653 bubble->GetViewState()); 1652 bubble->GetViewState());
1654 } 1653 }
OLDNEW
« no previous file with comments | « build/secondary/third_party/icu/BUILD.gn ('k') | chrome/browser/ui/webui/identity_internals_ui_browsertest.js » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698