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

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

Issue 15949022: Translate: language list smart updater (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: disable network update on mac infobar tests 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 | Annotate | Revision Log
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 614 matching lines...) Expand 10 before | Expand all | Expand 10 after
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("ak"); 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("zh"); 630 server_languages.push_back("zh");
631 server_languages.push_back("yi"); 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 server_languages.push_back("xx");
634 634
635 // First, get the default languages list: 635 // First, get the default languages list. Note that calling
636 // GetSupportedLanguages() invokes RequestLanguageList() internally.
636 std::vector<std::string> default_supported_languages; 637 std::vector<std::string> default_supported_languages;
637 TranslateManager::GetSupportedLanguages(&default_supported_languages); 638 TranslateManager::GetSupportedLanguages(&default_supported_languages);
638 // To make sure we got the defaults and don't confuse them with the mocks. 639 // To make sure we got the defaults and don't confuse them with the mocks.
639 ASSERT_NE(default_supported_languages.size(), server_languages.size()); 640 ASSERT_NE(default_supported_languages.size(), server_languages.size());
640 641
641 Profile* profile =
642 Profile::FromBrowserContext(web_contents()->GetBrowserContext());
643 PrefService* prefs = profile->GetPrefs();
644 TranslateManager::GetInstance()->FetchLanguageListFromTranslateServer(prefs);
645
646 // Check that we still get the defaults until the URLFetch has completed. 642 // Check that we still get the defaults until the URLFetch has completed.
647 std::vector<std::string> current_supported_languages; 643 std::vector<std::string> current_supported_languages;
648 TranslateManager::GetSupportedLanguages(&current_supported_languages); 644 TranslateManager::GetSupportedLanguages(&current_supported_languages);
649 EXPECT_EQ(default_supported_languages, current_supported_languages); 645 EXPECT_EQ(default_supported_languages, current_supported_languages);
650 646
651 // Also check that it didn't change if we failed the URL fetch. 647 // Also check that it didn't change if we failed the URL fetch.
652 SimulateSupportedLanguagesURLFetch(false, std::vector<std::string>()); 648 SimulateSupportedLanguagesURLFetch(false, std::vector<std::string>());
653 current_supported_languages.clear(); 649 current_supported_languages.clear();
654 TranslateManager::GetSupportedLanguages(&current_supported_languages); 650 TranslateManager::GetSupportedLanguages(&current_supported_languages);
655 EXPECT_EQ(default_supported_languages, current_supported_languages); 651 EXPECT_EQ(default_supported_languages, current_supported_languages);
656 652
657 // Now check that we got the appropriate set of languages from the server. 653 // Now check that we got the appropriate set of languages from the server.
658 TranslateManager::GetInstance()->FetchLanguageListFromTranslateServer(prefs);
659 SimulateSupportedLanguagesURLFetch(true, server_languages); 654 SimulateSupportedLanguagesURLFetch(true, server_languages);
660 current_supported_languages.clear(); 655 current_supported_languages.clear();
661 TranslateManager::GetSupportedLanguages(&current_supported_languages); 656 TranslateManager::GetSupportedLanguages(&current_supported_languages);
662 // "xx" can't be displayed in the Translate inforbar, so this is eliminated. 657 // "xx" can't be displayed in the Translate inforbar, so this is eliminated.
663 EXPECT_EQ(server_languages.size() - 1, current_supported_languages.size()); 658 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. 659 // 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) { 660 for (size_t i = 0; i < server_languages.size(); ++i) {
666 if (server_languages[i] == "xx") 661 if (server_languages[i] == "xx")
667 continue; 662 continue;
668 EXPECT_NE(current_supported_languages.end(), 663 EXPECT_NE(current_supported_languages.end(),
(...skipping 860 matching lines...) Expand 10 before | Expand all | Expand 10 after
1529 WebContents* current_web_contents = 1524 WebContents* current_web_contents =
1530 browser()->tab_strip_model()->GetActiveWebContents(); 1525 browser()->tab_strip_model()->GetActiveWebContents();
1531 content::Source<WebContents> source(current_web_contents); 1526 content::Source<WebContents> source(current_web_contents);
1532 1527
1533 ui_test_utils::WindowedNotificationObserverWithDetails< 1528 ui_test_utils::WindowedNotificationObserverWithDetails<
1534 LanguageDetectionDetails> 1529 LanguageDetectionDetails>
1535 fr_language_detected_signal(chrome::NOTIFICATION_TAB_LANGUAGE_DETERMINED, 1530 fr_language_detected_signal(chrome::NOTIFICATION_TAB_LANGUAGE_DETERMINED,
1536 source); 1531 source);
1537 fr_language_detected_signal.Wait(); 1532 fr_language_detected_signal.Wait();
1538 } 1533 }
OLDNEW
« no previous file with comments | « chrome/browser/translate/translate_language_list.cc ('k') | chrome/browser/translate/translate_url_fetcher.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698