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

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: update expectation in photo gallery app test 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/chrome_translate_client.h" 19 #include "chrome/browser/translate/chrome_translate_client.h"
(...skipping 580 matching lines...) Expand 10 before | Expand all | Expand 10 after
599 infobar = GetTranslateInfoBar(); 600 infobar = GetTranslateInfoBar();
600 bool expected = 601 bool expected =
601 TranslateDownloadManager::IsSupportedLanguage(lang) && lang != "en"; 602 TranslateDownloadManager::IsSupportedLanguage(lang) && lang != "en";
602 EXPECT_EQ(expected, infobar != NULL); 603 EXPECT_EQ(expected, infobar != NULL);
603 604
604 if (infobar != NULL) 605 if (infobar != NULL)
605 EXPECT_TRUE(CloseTranslateInfoBar()); 606 EXPECT_TRUE(CloseTranslateInfoBar());
606 } 607 }
607 } 608 }
608 609
610 // A list of languages to fake being returned by the translate server.
611 // Use only langauges for which Chrome's copy of ICU has
612 // display names in English locale. To save space, Chrome's copy of ICU
613 // does not have the display name for a language unless it's in the
614 // Accept-Language list.
615 static const char* server_language_list[] =
616 {"ach", "ak", "af", "en-CA", "zh", "yi", "fr-FR", "tl", "iw", "in", "xx"};
617 static const char* alpha_language_list[] = {"ach", "yi"};
618
609 // Test the fetching of languages from the translate server 619 // Test the fetching of languages from the translate server
610 TEST_F(TranslateManagerRenderViewHostTest, FetchLanguagesFromTranslateServer) { 620 TEST_F(TranslateManagerRenderViewHostTest, FetchLanguagesFromTranslateServer) {
611 std::vector<std::string> server_languages; 621 std::vector<std::string> server_languages;
612 // A list of languages to fake being returned by the translate server. 622 for (size_t i = 0; i < arraysize(server_language_list); ++i)
613 server_languages.push_back("aa"); 623 server_languages.push_back(server_language_list[i]);
614 server_languages.push_back("ak");
615 server_languages.push_back("ab");
616 server_languages.push_back("en-CA");
617 server_languages.push_back("zh");
618 server_languages.push_back("yi");
619 server_languages.push_back("fr-FR");
620 server_languages.push_back("xx");
621 624
622 std::vector<std::string> alpha_languages; 625 std::vector<std::string> alpha_languages;
623 alpha_languages.push_back("aa"); 626 for (size_t i = 0; i < arraysize(alpha_language_list); ++i)
624 alpha_languages.push_back("yi"); 627 alpha_languages.push_back(alpha_language_list[i]);
625 628
626 // First, get the default languages list. Note that calling 629 // First, get the default languages list. Note that calling
627 // GetSupportedLanguages() invokes RequestLanguageList() internally. 630 // GetSupportedLanguages() invokes RequestLanguageList() internally.
628 std::vector<std::string> default_supported_languages; 631 std::vector<std::string> default_supported_languages;
629 TranslateDownloadManager::GetSupportedLanguages(&default_supported_languages); 632 TranslateDownloadManager::GetSupportedLanguages(&default_supported_languages);
630 // To make sure we got the defaults and don't confuse them with the mocks. 633 // To make sure we got the defaults and don't confuse them with the mocks.
631 ASSERT_NE(default_supported_languages.size(), server_languages.size()); 634 ASSERT_NE(default_supported_languages.size(), server_languages.size());
632 635
633 // Check that we still get the defaults until the URLFetch has completed. 636 // Check that we still get the defaults until the URLFetch has completed.
634 std::vector<std::string> current_supported_languages; 637 std::vector<std::string> current_supported_languages;
(...skipping 15 matching lines...) Expand all
650 // "xx" can't be displayed in the Translate inforbar, so this is eliminated. 653 // "xx" can't be displayed in the Translate inforbar, so this is eliminated.
651 EXPECT_EQ(server_languages.size() - 1, current_supported_languages.size()); 654 EXPECT_EQ(server_languages.size() - 1, current_supported_languages.size());
652 // Not sure we need to guarantee the order of languages, so we find them. 655 // Not sure we need to guarantee the order of languages, so we find them.
653 for (size_t i = 0; i < server_languages.size(); ++i) { 656 for (size_t i = 0; i < server_languages.size(); ++i) {
654 const std::string& lang = server_languages[i]; 657 const std::string& lang = server_languages[i];
655 if (lang == "xx") 658 if (lang == "xx")
656 continue; 659 continue;
657 EXPECT_NE(current_supported_languages.end(), 660 EXPECT_NE(current_supported_languages.end(),
658 std::find(current_supported_languages.begin(), 661 std::find(current_supported_languages.begin(),
659 current_supported_languages.end(), 662 current_supported_languages.end(),
660 lang)); 663 lang)) << "lang=" << lang;
661 bool is_alpha = 664 bool is_alpha =
662 std::find(alpha_languages.begin(), alpha_languages.end(), lang) != 665 std::find(alpha_languages.begin(), alpha_languages.end(), lang) !=
663 alpha_languages.end(); 666 alpha_languages.end();
664 EXPECT_EQ(TranslateDownloadManager::IsAlphaLanguage(lang), is_alpha); 667 EXPECT_EQ(TranslateDownloadManager::IsAlphaLanguage(lang),
668 is_alpha) << "lang=" << lang;
665 } 669 }
666 } 670 }
667 671
668 // Test the fetching of languages from the translate server without 'al' 672 // Test the fetching of languages from the translate server without 'al'
669 // parameter. 673 // parameter.
670 TEST_F(TranslateManagerRenderViewHostTest, 674 TEST_F(TranslateManagerRenderViewHostTest,
671 FetchLanguagesFromTranslateServerWithoutAlpha) { 675 FetchLanguagesFromTranslateServerWithoutAlpha) {
672 std::vector<std::string> server_languages; 676 std::vector<std::string> server_languages;
673 server_languages.push_back("aa"); 677 for (size_t i = 0; i < arraysize(server_language_list); ++i)
674 server_languages.push_back("ak"); 678 server_languages.push_back(server_language_list[i]);
675 server_languages.push_back("ab");
676 server_languages.push_back("en-CA");
677 server_languages.push_back("zh");
678 server_languages.push_back("yi");
679 server_languages.push_back("fr-FR");
680 server_languages.push_back("xx");
681 679
682 std::vector<std::string> alpha_languages; 680 std::vector<std::string> alpha_languages;
683 alpha_languages.push_back("aa"); 681 for (size_t i = 0; i < arraysize(alpha_language_list); ++i)
684 alpha_languages.push_back("yi"); 682 alpha_languages.push_back(alpha_language_list[i]);
685 683
686 // call GetSupportedLanguages to call RequestLanguageList internally. 684 // call GetSupportedLanguages to call RequestLanguageList internally.
687 std::vector<std::string> default_supported_languages; 685 std::vector<std::string> default_supported_languages;
688 TranslateDownloadManager::GetSupportedLanguages(&default_supported_languages); 686 TranslateDownloadManager::GetSupportedLanguages(&default_supported_languages);
689 687
690 SimulateSupportedLanguagesURLFetch( 688 SimulateSupportedLanguagesURLFetch(
691 true, server_languages, false, alpha_languages); 689 true, server_languages, false, alpha_languages);
692 690
693 std::vector<std::string> current_supported_languages; 691 std::vector<std::string> current_supported_languages;
694 TranslateDownloadManager::GetSupportedLanguages(&current_supported_languages); 692 TranslateDownloadManager::GetSupportedLanguages(&current_supported_languages);
695 693
696 // "xx" can't be displayed in the Translate inforbar, so this is eliminated. 694 // "xx" can't be displayed in the Translate inforbar, so this is eliminated.
697 EXPECT_EQ(server_languages.size() - 1, current_supported_languages.size()); 695 EXPECT_EQ(server_languages.size() - 1, current_supported_languages.size());
698 696
699 for (size_t i = 0; i < server_languages.size(); ++i) { 697 for (size_t i = 0; i < server_languages.size(); ++i) {
700 const std::string& lang = server_languages[i]; 698 const std::string& lang = server_languages[i];
701 if (lang == "xx") 699 if (lang == "xx")
702 continue; 700 continue;
703 EXPECT_NE(current_supported_languages.end(), 701 EXPECT_NE(current_supported_languages.end(),
704 std::find(current_supported_languages.begin(), 702 std::find(current_supported_languages.begin(),
705 current_supported_languages.end(), 703 current_supported_languages.end(),
706 lang)); 704 lang)) << "lang=" << lang;
707 EXPECT_FALSE(TranslateDownloadManager::IsAlphaLanguage(lang)); 705 EXPECT_FALSE(TranslateDownloadManager::IsAlphaLanguage(lang)) <<
706 "lang=" << lang;
708 } 707 }
709 } 708 }
710 709
711 // Tests auto-translate on page. 710 // Tests auto-translate on page.
712 TEST_F(TranslateManagerRenderViewHostTest, AutoTranslateOnNavigate) { 711 TEST_F(TranslateManagerRenderViewHostTest, AutoTranslateOnNavigate) {
713 SimulateNavigation(GURL("http://www.google.fr"), "fr", true); 712 SimulateNavigation(GURL("http://www.google.fr"), "fr", true);
714 713
715 // Simulate the user translating. 714 // Simulate the user translating.
716 TranslateInfoBarDelegate* infobar = GetTranslateInfoBar(); 715 TranslateInfoBarDelegate* infobar = GetTranslateInfoBar();
717 ASSERT_TRUE(infobar != NULL); 716 ASSERT_TRUE(infobar != NULL);
(...skipping 830 matching lines...) Expand 10 before | Expand all | Expand 10 after
1548 // Check the bubble exists instead of the infobar. 1547 // Check the bubble exists instead of the infobar.
1549 TranslateInfoBarDelegate* infobar = GetTranslateInfoBar(); 1548 TranslateInfoBarDelegate* infobar = GetTranslateInfoBar();
1550 ASSERT_TRUE(infobar == NULL); 1549 ASSERT_TRUE(infobar == NULL);
1551 TranslateBubbleModel* bubble = factory->model(); 1550 TranslateBubbleModel* bubble = factory->model();
1552 ASSERT_TRUE(bubble != NULL); 1551 ASSERT_TRUE(bubble != NULL);
1553 EXPECT_EQ(TranslateBubbleModel::VIEW_STATE_TRANSLATING, 1552 EXPECT_EQ(TranslateBubbleModel::VIEW_STATE_TRANSLATING,
1554 bubble->GetViewState()); 1553 bubble->GetViewState());
1555 } 1554 }
1556 1555
1557 #endif // defined(USE_AURA) 1556 #endif // defined(USE_AURA)
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698