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

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

Issue 15987004: Translate: Filter and record languages whose names Chrome doesn't show (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Modified the test Created 7 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
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 5
6 #include <algorithm> 6 #include <algorithm>
7 #include <set> 7 #include <set>
8 #include <vector> 8 #include <vector>
9 9
10 #include "base/json/json_writer.h" 10 #include "base/json/json_writer.h"
(...skipping 606 matching lines...) Expand 10 before | Expand all | Expand 10 after
617 if (infobar != NULL) 617 if (infobar != NULL)
618 EXPECT_TRUE(CloseTranslateInfoBar()); 618 EXPECT_TRUE(CloseTranslateInfoBar());
619 } 619 }
620 } 620 }
621 621
622 // Test the fetching of languages from the translate server 622 // Test the fetching of languages from the translate server
623 TEST_F(TranslateManagerBrowserTest, FetchLanguagesFromTranslateServer) { 623 TEST_F(TranslateManagerBrowserTest, FetchLanguagesFromTranslateServer) {
624 std::vector<std::string> server_languages; 624 std::vector<std::string> server_languages;
625 // A list of languages to fake being returned by the translate server. 625 // A list of languages to fake being returned by the translate server.
626 server_languages.push_back("aa"); 626 server_languages.push_back("aa");
627 server_languages.push_back("bb"); 627 server_languages.push_back("ak");
628 server_languages.push_back("ab"); 628 server_languages.push_back("ab");
629 server_languages.push_back("en-CA"); 629 server_languages.push_back("en-CA");
630 server_languages.push_back("zz"); 630 server_languages.push_back("zh");
631 server_languages.push_back("yy"); 631 server_languages.push_back("yi");
632 server_languages.push_back("fr-FR"); 632 server_languages.push_back("fr-FR");
633 server_languages.push_back("xx");
633 634
634 // First, get the default languages list: 635 // First, get the default languages list:
635 std::vector<std::string> default_supported_languages; 636 std::vector<std::string> default_supported_languages;
636 TranslateManager::GetSupportedLanguages(&default_supported_languages); 637 TranslateManager::GetSupportedLanguages(&default_supported_languages);
637 // To make sure we got the defaults and don't confuse them with the mocks. 638 // To make sure we got the defaults and don't confuse them with the mocks.
638 ASSERT_NE(default_supported_languages.size(), server_languages.size()); 639 ASSERT_NE(default_supported_languages.size(), server_languages.size());
639 640
640 Profile* profile = 641 Profile* profile =
641 Profile::FromBrowserContext(web_contents()->GetBrowserContext()); 642 Profile::FromBrowserContext(web_contents()->GetBrowserContext());
642 PrefService* prefs = profile->GetPrefs(); 643 PrefService* prefs = profile->GetPrefs();
643 TranslateManager::GetInstance()->FetchLanguageListFromTranslateServer(prefs); 644 TranslateManager::GetInstance()->FetchLanguageListFromTranslateServer(prefs);
644 645
645 // Check that we still get the defaults until the URLFetch has completed. 646 // Check that we still get the defaults until the URLFetch has completed.
646 std::vector<std::string> current_supported_languages; 647 std::vector<std::string> current_supported_languages;
647 TranslateManager::GetSupportedLanguages(&current_supported_languages); 648 TranslateManager::GetSupportedLanguages(&current_supported_languages);
648 EXPECT_EQ(default_supported_languages, current_supported_languages); 649 EXPECT_EQ(default_supported_languages, current_supported_languages);
649 650
650 // Also check that it didn't change if we failed the URL fetch. 651 // Also check that it didn't change if we failed the URL fetch.
651 SimulateSupportedLanguagesURLFetch(false, std::vector<std::string>()); 652 SimulateSupportedLanguagesURLFetch(false, std::vector<std::string>());
652 current_supported_languages.clear(); 653 current_supported_languages.clear();
653 TranslateManager::GetSupportedLanguages(&current_supported_languages); 654 TranslateManager::GetSupportedLanguages(&current_supported_languages);
654 EXPECT_EQ(default_supported_languages, current_supported_languages); 655 EXPECT_EQ(default_supported_languages, current_supported_languages);
655 656
656 // Now check that we got the appropriate set of languages from the server. 657 // Now check that we got the appropriate set of languages from the server.
657 TranslateManager::GetInstance()->FetchLanguageListFromTranslateServer(prefs); 658 TranslateManager::GetInstance()->FetchLanguageListFromTranslateServer(prefs);
658 SimulateSupportedLanguagesURLFetch(true, server_languages); 659 SimulateSupportedLanguagesURLFetch(true, server_languages);
659 current_supported_languages.clear(); 660 current_supported_languages.clear();
660 TranslateManager::GetSupportedLanguages(&current_supported_languages); 661 TranslateManager::GetSupportedLanguages(&current_supported_languages);
662 // "xx" can't be displayed in the Translate inforbar, so this is eliminated.
663 EXPECT_EQ(server_languages.size() - 1, current_supported_languages.size());
661 // Not sure we need to guarantee the order of languages, so we find them. 664 // Not sure we need to guarantee the order of languages, so we find them.
662 EXPECT_EQ(server_languages.size(), current_supported_languages.size());
663 for (size_t i = 0; i < server_languages.size(); ++i) { 665 for (size_t i = 0; i < server_languages.size(); ++i) {
666 if (server_languages[i] == "xx")
667 continue;
664 EXPECT_NE(current_supported_languages.end(), 668 EXPECT_NE(current_supported_languages.end(),
665 std::find(current_supported_languages.begin(), 669 std::find(current_supported_languages.begin(),
666 current_supported_languages.end(), 670 current_supported_languages.end(),
667 server_languages[i])); 671 server_languages[i]));
668 } 672 }
669 } 673 }
670 674
671 std::string GetLanguageListString( 675 std::string GetLanguageListString(
672 const std::vector<std::string>& language_list) { 676 const std::vector<std::string>& language_list) {
673 // The translate manager is expecting a JSON string like: 677 // The translate manager is expecting a JSON string like:
(...skipping 849 matching lines...) Expand 10 before | Expand all | Expand 10 after
1523 WebContents* current_web_contents = 1527 WebContents* current_web_contents =
1524 browser()->tab_strip_model()->GetActiveWebContents(); 1528 browser()->tab_strip_model()->GetActiveWebContents();
1525 content::Source<WebContents> source(current_web_contents); 1529 content::Source<WebContents> source(current_web_contents);
1526 1530
1527 ui_test_utils::WindowedNotificationObserverWithDetails< 1531 ui_test_utils::WindowedNotificationObserverWithDetails<
1528 LanguageDetectionDetails> 1532 LanguageDetectionDetails>
1529 fr_language_detected_signal(chrome::NOTIFICATION_TAB_LANGUAGE_DETERMINED, 1533 fr_language_detected_signal(chrome::NOTIFICATION_TAB_LANGUAGE_DETERMINED,
1530 source); 1534 source);
1531 fr_language_detected_signal.Wait(); 1535 fr_language_detected_signal.Wait();
1532 } 1536 }
OLDNEW
« no previous file with comments | « chrome/browser/translate/translate_manager.cc ('k') | chrome/browser/translate/translate_manager_metrics.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698