OLD | NEW |
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 Loading... |
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(¤t_supported_languages); | 644 TranslateManager::GetSupportedLanguages(¤t_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(¤t_supported_languages); | 650 TranslateManager::GetSupportedLanguages(¤t_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(¤t_supported_languages); | 656 TranslateManager::GetSupportedLanguages(¤t_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 Loading... |
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 } |
OLD | NEW |