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

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: (rebase to 16841020) 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 642
646 // Check that we still get the defaults until the URLFetch has completed. 643 // Check that we still get the defaults until the URLFetch has completed.
647 std::vector<std::string> current_supported_languages; 644 std::vector<std::string> current_supported_languages;
648 TranslateManager::GetSupportedLanguages(&current_supported_languages); 645 TranslateManager::GetSupportedLanguages(&current_supported_languages);
649 EXPECT_EQ(default_supported_languages, current_supported_languages); 646 EXPECT_EQ(default_supported_languages, current_supported_languages);
650 647
651 // Also check that it didn't change if we failed the URL fetch. 648 // Also check that it didn't change if we failed the URL fetch.
652 SimulateSupportedLanguagesURLFetch(false, std::vector<std::string>()); 649 SimulateSupportedLanguagesURLFetch(false, std::vector<std::string>());
653 current_supported_languages.clear(); 650 current_supported_languages.clear();
654 TranslateManager::GetSupportedLanguages(&current_supported_languages); 651 TranslateManager::GetSupportedLanguages(&current_supported_languages);
655 EXPECT_EQ(default_supported_languages, current_supported_languages); 652 EXPECT_EQ(default_supported_languages, current_supported_languages);
656 653
657 // Now check that we got the appropriate set of languages from the server. 654 // Now check that we got the appropriate set of languages from the server.
658 TranslateManager::GetInstance()->FetchLanguageListFromTranslateServer(prefs);
659 SimulateSupportedLanguagesURLFetch(true, server_languages); 655 SimulateSupportedLanguagesURLFetch(true, server_languages);
660 current_supported_languages.clear(); 656 current_supported_languages.clear();
661 TranslateManager::GetSupportedLanguages(&current_supported_languages); 657 TranslateManager::GetSupportedLanguages(&current_supported_languages);
662 // "xx" can't be displayed in the Translate inforbar, so this is eliminated. 658 // "xx" can't be displayed in the Translate inforbar, so this is eliminated.
663 EXPECT_EQ(server_languages.size() - 1, current_supported_languages.size()); 659 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. 660 // 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) { 661 for (size_t i = 0; i < server_languages.size(); ++i) {
666 if (server_languages[i] == "xx") 662 if (server_languages[i] == "xx")
667 continue; 663 continue;
668 EXPECT_NE(current_supported_languages.end(), 664 EXPECT_NE(current_supported_languages.end(),
(...skipping 858 matching lines...) Expand 10 before | Expand all | Expand 10 after
1527 WebContents* current_web_contents = 1523 WebContents* current_web_contents =
1528 browser()->tab_strip_model()->GetActiveWebContents(); 1524 browser()->tab_strip_model()->GetActiveWebContents();
1529 content::Source<WebContents> source(current_web_contents); 1525 content::Source<WebContents> source(current_web_contents);
1530 1526
1531 ui_test_utils::WindowedNotificationObserverWithDetails< 1527 ui_test_utils::WindowedNotificationObserverWithDetails<
1532 LanguageDetectionDetails> 1528 LanguageDetectionDetails>
1533 fr_language_detected_signal(chrome::NOTIFICATION_TAB_LANGUAGE_DETERMINED, 1529 fr_language_detected_signal(chrome::NOTIFICATION_TAB_LANGUAGE_DETERMINED,
1534 source); 1530 source);
1535 fr_language_detected_signal.Wait(); 1531 fr_language_detected_signal.Wait();
1536 } 1532 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698