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

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: review #15 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 613 matching lines...) Expand 10 before | Expand all | Expand 10 after
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("bb");
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("zz");
631 server_languages.push_back("yy"); 631 server_languages.push_back("yy");
632 server_languages.push_back("fr-FR"); 632 server_languages.push_back("fr-FR");
633 633
634 // First, get the default languages list: 634 // First, get the default languages list. Note that calling
635 // GetSupportedLanguages() invokes RequestLanguageList() internally.
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::FromBrowserContext(web_contents()->GetBrowserContext());
642 PrefService* prefs = profile->GetPrefs();
643 TranslateManager::GetInstance()->FetchLanguageListFromTranslateServer(prefs);
644 641
645 // 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.
646 std::vector<std::string> current_supported_languages; 643 std::vector<std::string> current_supported_languages;
647 TranslateManager::GetSupportedLanguages(&current_supported_languages); 644 TranslateManager::GetSupportedLanguages(&current_supported_languages);
648 EXPECT_EQ(default_supported_languages, current_supported_languages); 645 EXPECT_EQ(default_supported_languages, current_supported_languages);
649 646
650 // 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.
651 SimulateSupportedLanguagesURLFetch(false, std::vector<std::string>()); 648 SimulateSupportedLanguagesURLFetch(false, std::vector<std::string>());
652 current_supported_languages.clear(); 649 current_supported_languages.clear();
653 TranslateManager::GetSupportedLanguages(&current_supported_languages); 650 TranslateManager::GetSupportedLanguages(&current_supported_languages);
654 EXPECT_EQ(default_supported_languages, current_supported_languages); 651 EXPECT_EQ(default_supported_languages, current_supported_languages);
655 652
656 // 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.
657 TranslateManager::GetInstance()->FetchLanguageListFromTranslateServer(prefs);
658 SimulateSupportedLanguagesURLFetch(true, server_languages); 654 SimulateSupportedLanguagesURLFetch(true, server_languages);
659 current_supported_languages.clear(); 655 current_supported_languages.clear();
660 TranslateManager::GetSupportedLanguages(&current_supported_languages); 656 TranslateManager::GetSupportedLanguages(&current_supported_languages);
661 // Not sure we need to guarantee the order of languages, so we find them. 657 // Not sure we need to guarantee the order of languages, so we find them.
662 EXPECT_EQ(server_languages.size(), current_supported_languages.size()); 658 EXPECT_EQ(server_languages.size(), current_supported_languages.size());
663 for (size_t i = 0; i < server_languages.size(); ++i) { 659 for (size_t i = 0; i < server_languages.size(); ++i) {
664 EXPECT_NE(current_supported_languages.end(), 660 EXPECT_NE(current_supported_languages.end(),
665 std::find(current_supported_languages.begin(), 661 std::find(current_supported_languages.begin(),
666 current_supported_languages.end(), 662 current_supported_languages.end(),
667 server_languages[i])); 663 server_languages[i]));
(...skipping 855 matching lines...) Expand 10 before | Expand all | Expand 10 after
1523 WebContents* current_web_contents = 1519 WebContents* current_web_contents =
1524 browser()->tab_strip_model()->GetActiveWebContents(); 1520 browser()->tab_strip_model()->GetActiveWebContents();
1525 content::Source<WebContents> source(current_web_contents); 1521 content::Source<WebContents> source(current_web_contents);
1526 1522
1527 ui_test_utils::WindowedNotificationObserverWithDetails< 1523 ui_test_utils::WindowedNotificationObserverWithDetails<
1528 LanguageDetectionDetails> 1524 LanguageDetectionDetails>
1529 fr_language_detected_signal(chrome::NOTIFICATION_TAB_LANGUAGE_DETERMINED, 1525 fr_language_detected_signal(chrome::NOTIFICATION_TAB_LANGUAGE_DETERMINED,
1530 source); 1526 source);
1531 fr_language_detected_signal.Wait(); 1527 fr_language_detected_signal.Wait();
1532 } 1528 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698