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 15317007: Translate: split supporting language list handling to TranslateLanguageList (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: for review Created 7 years, 7 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"
11 #include "base/memory/scoped_ptr.h" 11 #include "base/memory/scoped_ptr.h"
12 #include "base/prefs/pref_change_registrar.h" 12 #include "base/prefs/pref_change_registrar.h"
13 #include "base/prefs/pref_service.h" 13 #include "base/prefs/pref_service.h"
14 #include "base/stringprintf.h" 14 #include "base/stringprintf.h"
15 #include "base/utf_string_conversions.h" 15 #include "base/utf_string_conversions.h"
16 #include "base/values.h" 16 #include "base/values.h"
17 #include "chrome/app/chrome_command_ids.h" 17 #include "chrome/app/chrome_command_ids.h"
18 #include "chrome/browser/extensions/test_extension_system.h" 18 #include "chrome/browser/extensions/test_extension_system.h"
19 #include "chrome/browser/infobars/infobar.h" 19 #include "chrome/browser/infobars/infobar.h"
20 #include "chrome/browser/infobars/infobar_service.h" 20 #include "chrome/browser/infobars/infobar_service.h"
21 #include "chrome/browser/prefs/session_startup_pref.h" 21 #include "chrome/browser/prefs/session_startup_pref.h"
22 #include "chrome/browser/tab_contents/render_view_context_menu.h" 22 #include "chrome/browser/tab_contents/render_view_context_menu.h"
23 #include "chrome/browser/translate/translate_infobar_delegate.h" 23 #include "chrome/browser/translate/translate_infobar_delegate.h"
24 #include "chrome/browser/translate/translate_language_list.h"
24 #include "chrome/browser/translate/translate_manager.h" 25 #include "chrome/browser/translate/translate_manager.h"
25 #include "chrome/browser/translate/translate_prefs.h" 26 #include "chrome/browser/translate/translate_prefs.h"
26 #include "chrome/browser/translate/translate_tab_helper.h" 27 #include "chrome/browser/translate/translate_tab_helper.h"
27 #include "chrome/browser/ui/browser.h" 28 #include "chrome/browser/ui/browser.h"
28 #include "chrome/browser/ui/tabs/tab_strip_model.h" 29 #include "chrome/browser/ui/tabs/tab_strip_model.h"
29 #include "chrome/common/chrome_notification_types.h" 30 #include "chrome/common/chrome_notification_types.h"
30 #include "chrome/common/pref_names.h" 31 #include "chrome/common/pref_names.h"
31 #include "chrome/common/render_messages.h" 32 #include "chrome/common/render_messages.h"
32 #include "chrome/common/url_constants.h" 33 #include "chrome/common/url_constants.h"
33 #include "chrome/test/base/chrome_render_view_host_test_harness.h" 34 #include "chrome/test/base/chrome_render_view_host_test_harness.h"
(...skipping 238 matching lines...) Expand 10 before | Expand all | Expand 10 after
272 void SimulateSupportedLanguagesURLFetch( 273 void SimulateSupportedLanguagesURLFetch(
273 bool success, const std::vector<std::string>& languages) { 274 bool success, const std::vector<std::string>& languages) {
274 net::TestURLFetcher* fetcher = url_fetcher_factory_.GetFetcherByID(1); 275 net::TestURLFetcher* fetcher = url_fetcher_factory_.GetFetcherByID(1);
275 ASSERT_TRUE(fetcher); 276 ASSERT_TRUE(fetcher);
276 net::URLRequestStatus status; 277 net::URLRequestStatus status;
277 status.set_status(success ? net::URLRequestStatus::SUCCESS : 278 status.set_status(success ? net::URLRequestStatus::SUCCESS :
278 net::URLRequestStatus::FAILED); 279 net::URLRequestStatus::FAILED);
279 280
280 std::string data; 281 std::string data;
281 if (success) { 282 if (success) {
282 data = base::StringPrintf("%s{\"sl\": {\"bla\": \"bla\"}, \"%s\": {", 283 data = base::StringPrintf(
283 TranslateManager::kLanguageListCallbackName, 284 "%s{\"sl\": {\"bla\": \"bla\"}, \"%s\": {",
284 TranslateManager::kTargetLanguagesKey); 285 TranslateLanguageList::kLanguageListCallbackName,
286 TranslateLanguageList::kTargetLanguagesKey);
285 const char* comma = ""; 287 const char* comma = "";
286 for (size_t i = 0; i < languages.size(); ++i) { 288 for (size_t i = 0; i < languages.size(); ++i) {
287 data += base::StringPrintf( 289 data += base::StringPrintf(
288 "%s\"%s\": \"UnusedFullName\"", comma, languages[i].c_str()); 290 "%s\"%s\": \"UnusedFullName\"", comma, languages[i].c_str());
289 if (i == 0) 291 if (i == 0)
290 comma = ","; 292 comma = ",";
291 } 293 }
292 data += "}})"; 294 data += "}})";
293 } 295 }
294 fetcher->set_url(fetcher->GetOriginalURL()); 296 fetcher->set_url(fetcher->GetOriginalURL());
(...skipping 328 matching lines...) Expand 10 before | Expand all | Expand 10 after
623 server_languages.push_back("aa"); 625 server_languages.push_back("aa");
624 server_languages.push_back("bb"); 626 server_languages.push_back("bb");
625 server_languages.push_back("ab"); 627 server_languages.push_back("ab");
626 server_languages.push_back("en-CA"); 628 server_languages.push_back("en-CA");
627 server_languages.push_back("zz"); 629 server_languages.push_back("zz");
628 server_languages.push_back("yy"); 630 server_languages.push_back("yy");
629 server_languages.push_back("fr-FR"); 631 server_languages.push_back("fr-FR");
630 632
631 // First, get the default languages list: 633 // First, get the default languages list:
632 std::vector<std::string> default_supported_languages; 634 std::vector<std::string> default_supported_languages;
633 TranslateManager::GetSupportedLanguages(&default_supported_languages); 635 TranslateLanguageList::GetSupportedLanguages(&default_supported_languages);
634 // To make sure we got the defaults and don't confuse them with the mocks. 636 // To make sure we got the defaults and don't confuse them with the mocks.
635 ASSERT_NE(default_supported_languages.size(), server_languages.size()); 637 ASSERT_NE(default_supported_languages.size(), server_languages.size());
636 638
637 Profile* profile = 639 Profile* profile =
638 Profile::FromBrowserContext(web_contents()->GetBrowserContext()); 640 Profile::FromBrowserContext(web_contents()->GetBrowserContext());
639 PrefService* prefs = profile->GetPrefs(); 641 PrefService* prefs = profile->GetPrefs();
640 TranslateManager::GetInstance()->FetchLanguageListFromTranslateServer(prefs); 642 TranslateManager::GetInstance()->FetchLanguageListFromTranslateServer(prefs);
641 643
642 // Check that we still get the defaults until the URLFetch has completed. 644 // Check that we still get the defaults until the URLFetch has completed.
643 std::vector<std::string> current_supported_languages; 645 std::vector<std::string> current_supported_languages;
644 TranslateManager::GetSupportedLanguages(&current_supported_languages); 646 TranslateLanguageList::GetSupportedLanguages(&current_supported_languages);
645 EXPECT_EQ(default_supported_languages, current_supported_languages); 647 EXPECT_EQ(default_supported_languages, current_supported_languages);
646 648
647 // Also check that it didn't change if we failed the URL fetch. 649 // Also check that it didn't change if we failed the URL fetch.
648 SimulateSupportedLanguagesURLFetch(false, std::vector<std::string>()); 650 SimulateSupportedLanguagesURLFetch(false, std::vector<std::string>());
649 current_supported_languages.clear(); 651 current_supported_languages.clear();
650 TranslateManager::GetSupportedLanguages(&current_supported_languages); 652 TranslateLanguageList::GetSupportedLanguages(&current_supported_languages);
651 EXPECT_EQ(default_supported_languages, current_supported_languages); 653 EXPECT_EQ(default_supported_languages, current_supported_languages);
652 654
653 // Now check that we got the appropriate set of languages from the server. 655 // Now check that we got the appropriate set of languages from the server.
654 TranslateManager::GetInstance()->FetchLanguageListFromTranslateServer(prefs); 656 TranslateManager::GetInstance()->FetchLanguageListFromTranslateServer(prefs);
655 SimulateSupportedLanguagesURLFetch(true, server_languages); 657 SimulateSupportedLanguagesURLFetch(true, server_languages);
656 current_supported_languages.clear(); 658 current_supported_languages.clear();
657 TranslateManager::GetSupportedLanguages(&current_supported_languages); 659 TranslateLanguageList::GetSupportedLanguages(&current_supported_languages);
658 // 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.
659 EXPECT_EQ(server_languages.size(), current_supported_languages.size()); 661 EXPECT_EQ(server_languages.size(), current_supported_languages.size());
660 for (size_t i = 0; i < server_languages.size(); ++i) { 662 for (size_t i = 0; i < server_languages.size(); ++i) {
661 EXPECT_NE(current_supported_languages.end(), 663 EXPECT_NE(current_supported_languages.end(),
662 std::find(current_supported_languages.begin(), 664 std::find(current_supported_languages.begin(),
663 current_supported_languages.end(), 665 current_supported_languages.end(),
664 server_languages[i])); 666 server_languages[i]));
665 } 667 }
666 668
667 // Reset to original state. 669 // Reset to original state.
(...skipping 854 matching lines...) Expand 10 before | Expand all | Expand 10 after
1522 IN_PROC_BROWSER_TEST_F(InProcessBrowserTest, MAYBE_TranslateSessionRestore) { 1524 IN_PROC_BROWSER_TEST_F(InProcessBrowserTest, MAYBE_TranslateSessionRestore) {
1523 WebContents* current_web_contents = 1525 WebContents* current_web_contents =
1524 browser()->tab_strip_model()->GetActiveWebContents(); 1526 browser()->tab_strip_model()->GetActiveWebContents();
1525 content::Source<WebContents> source(current_web_contents); 1527 content::Source<WebContents> source(current_web_contents);
1526 1528
1527 ui_test_utils::WindowedNotificationObserverWithDetails<std::string> 1529 ui_test_utils::WindowedNotificationObserverWithDetails<std::string>
1528 fr_language_detected_signal(chrome::NOTIFICATION_TAB_LANGUAGE_DETERMINED, 1530 fr_language_detected_signal(chrome::NOTIFICATION_TAB_LANGUAGE_DETERMINED,
1529 source); 1531 source);
1530 fr_language_detected_signal.Wait(); 1532 fr_language_detected_signal.Wait();
1531 } 1533 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698